Say you have a protocol buffer that contains a repeated element which in turn contains more repeated elements. If you mutate one of the repeated elements at the root, you're fine. However, if you mutate a repeated element that is a child of another repeated element, it becomes a different object from the one that's in its parent's list.
This demonstrates how the same object gets dissociated
nested_item = Top.items[0]
nested_item.items += (item,)
nested_item.items.length != Top.items[0].items.length
This quickly demonstrates the anomaly and how it eats data
length_before = Top.items[0].items.length
Top.items[0].items += (item,)
length_after = Top.items[0].items.length
length_before == length_after