I'm missing something. Isn't it clearly a maximum? I guess that refs are a problem. If you define share to not follow refs at all then it seems clear to me that it is a maximum. You will only have one copy of all reachable objects.