My custom UIImageView object is held by: - an array - an NSMutableArray - an NSArray of the parent view (it happens by [parrentView addSubView:myObj]; ) So my object's retainCount is 3. But when I call to release the NSMutableArray, my object got released as well? As normal behaviour, it should be decreased its retainCount to 2. And this issue occurs intermittently. Does anyone got similar issue like mine?