In our c# game we use object pools to store sprites once the Dispose() method gets called.Then when the Sprite.Create method gets called if a sprite is in the pool it gets depooled, cleared and returned.An uncommon but excruciatingly hard to tackle issue arises if some class by mistake is keeping a reference to the disposed objects and starts using/updating/moving it even if it's actually being used for something completely different by that time.
Is this a common issue? I remember calling it "pool object resurrection" but it could just be me giving it a funny name.
If it is a common issue, what is the strategy to find the "broken / resurrection" reference that links an object already "Dispose()d" to another object that could use it even after the item was recycled from the pool? Thank you!