I’d like to add an observation which might not be related, but we are having problems with that as well. The location of a group seems to change if you expand/collapse it (but not visullally, just the underlying data). This causes a problem because we have a two-way binding on the location so if you expand/collapse it looks fine, but if you save the data and load it again, the group has moved because of the change in the location
In your example if you change the text binding to
new go.TextBlock().bind(new go.Binding("text", "location").ofObject()),
Then on first load the Y part is 0 for all
If you expand and collapse the group, the nodes still have Y as 0 and the group looks visually set to be the same Y but the location data is actually set to 55.xxx - so if you save this location and load it again the group has moved

