I'm affraid it's not easy to be too specific, it's a sort of incomprehensible bug, but here goes:
1. Create a new contact: 'Person'.
2. From the Contacts tab, click on 'Person' for the contact information page to appear.
3. On that page, on right hand side ("Actions" menu) click "Assign to workspace" and assign 'Person' to the various workspaces he/she belongs to. Submit those changes.
4. Later, try selecting 'Person' again, clicking on "Assign to workspace", and try to remove 'Person' from one or more workspaces. Submit those changes.
5. You get the "Success: Contact 'Person' has been updated successfully". Now go see the workspaces 'Person' is assigned to: they are the same as previously!
Why this happens (i.e. dis-assigning 'Person' from one or more workspaces not working) is something that I haven't understood yet...
One thing I can say: i've tried randomly dis-assigning contacts from workspaces and this seems to be permantently "broken" i.e. I can't dis-assign "any" (well I haven't tried all ~50 of them) contact from the workspaces they are assigned to!!!
Final note: Assigning contacts to workspaces always worked and is still working, only dis-assigning seems to be bugged =/
PS: I'm using version 1.6.2