The reason it gets removed from one collection is this: say I have two customer objects, cust1 and cust2. I have one order object, myOrder. myOrder is in cust1.Orders. This means that myOrder and cust1 are related and that myOrder.Customer is cust1.
When I add myOrder to cust2.Orders, I effectively assign myOrder to cust2, which means I have to dereference cust1 as the customer, because cust2 is now the customer for myOrder. This means that myOrder is removed from the collection cust1.Orders.
This behavior is performed if the collection you add to is contained in an entity. If you add to a new collection, it isn't removed as that addition doesn't mean an assignment to a related entity.