I can post the code later if that would be helpful, but when I check retainCount immediately after allocating and initilizing a new object, I get a retainCount of 17057120. Obviously, I am trying to track down why none of my objects get dealloc'd - I have 4 or 5 NSMutableArrays which could own any given object (any number of them could own the object) and using the retainCount function would be very helpful to figure out where I am inadvertantly bumping up the retain count by one (or more). If I use a simpler version, using the exact same object, the retainCount function returns exactly what it ought to - the proper retain count of the object as it goes through its life cycle. But in my main version I get 17057120 (or larger) right after it is allocated. My main version is running a separate thread when the object is allocated, if that makes any difference. I realize I should post my code with this - and I will if that is needed - but I was hoping the number returned would be instantly recognized and the problem known. Thank you in advance for any help on this.