I've found a bug in the RibbonControl.
If I call:
ctxGroup.Parent should be set to null but it's still attached to the ribbon. Therefore ctxGroup cannot be reused in another ribbon. The Parent property is ReadOnly.
This seems to be the only place where this bug exists.
E.g. if I call tabView.Groups.Remove(group), group.Parent is set to null as expected.