As reported by #258 - the ModelCopyManager consumes an ever increasing amount of memory due to caching the copied ID's.
One possible solution would be to implement some form of garbage collection. When a ModelStore is destroyed, it could call back to the ModelCopyManager to remove all the associated references from the cache.
Note that this approach may have some CPU performance implications due to having to lock the cache during the operation.