Managed objects are grouped into migration groups, as you should already know from Section 5.3.7, “Migration And Replication Groups”. For simplicity you can think of migration group as a maximal set of objects where each object from the group is reachable via strong pointer properties by at least one another object from the group, and any object outside the group is not reachable by any object from the group via strong pointer properties.
In other words, if object A has strong pointer to object B, both of the objects belong to the same migration group. The important thing is that it is ensured that if an object is located on a node, all objects from its migration group are located on the same node as well and the objects can access all other objects from the migration group directly by dereferencing the strong pointer properties.
Because objects from one migration group must always reside on the same node, all of the objects must migrate together whenever one of them have to migrate to another node.
All objects from one migration group always migrate together. Whenever one object from the migration group migrates, all other objects from the migration group migrate as well together with the object.