 <p>If an object is not getting deallocated it is not because it is 'referenced' by another object, but because someone who had 'ownership' of the object did not 'release' it. This is called a 'memory leak'.</p> <p>You can find out more by reading the <a href="http://developer.apple.com/mac/library/documentation/cocoa/conceptual/MemoryMgmt/MemoryMgmt.html" rel="nofollow noreferrer">Memory Management Programming Guide</a>. Following the simple rules presented in the guide should help you avoid memory leaks.</p> <p>For detecting memory leaks you could use <a href="http://developer.apple.com/iphone/library/documentation/DeveloperTools/Conceptual/InstrumentsUserGuide/Introduction/Introduction.html" rel="nofollow noreferrer">Instruments</a>.</p> <p>I don't know of any app / tool that will show you which objects are referencing a particular object. </p>