I have a UIViewController that is pushed onto a container controller and then popped off, and using the allocations instrument, I can see that the view controller is destroy
Even with ARC you can inspect the reference count manually:
CFIndex rc = CFGetRetainCount((__bridge CFTypeRef)myObj);
You can know for sure if your code is hung in a memory cycle.