It's isn't clear to me what relationship there is between Mesh and TBullet. I assume Mesh is derived from Entity, and that - in this instance - the Entity which TBullet holds as a field is a Mesh, but I'm not positive about that. However, it's also not clear how your bullet is going out of scope in the middle of looping through entities. Are you using the new threaded GC? Are these things going on in different threads?