I'm having a hard time figuring this one out. I thought I had a class properly down and stable and now adding an instance of it to my view controller, the app suddenly exits after viewDidLoad (the class instance is allocated and inited in the view Controller's init routine, before loadView and viewDidLoad are called) because of a EXC_BAD_ACCESS (happens while none of my mine code is running, it's generated in the run loop). Commenting out the line that creates the instance of my class, every proceeds as normal. Here is a backtrace : Code: #0 0x01383df5 in objc_release () #1 0x01384c60 in (anonymous namespace)::AutoreleasePoolPage::pop () #2 0x015b9ed8 in _CFAutoreleasePoolPop () #3 0x000349f9 in -[NSAutoreleasePool release] () #4 0x00392f78 in _UIApplicationHandleEvent () #5 0x01d7bfa9 in PurpleEventCallback () #6 0x016591c5 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ () #7 0x015be022 in __CFRunLoopDoSource1 () #8 0x015bc90a in __CFRunLoopRun () #9 0x015bbdb4 in CFRunLoopRunSpecific () #10 0x015bbccb in CFRunLoopRunInMode () #11 0x0038f2a7 in -[UIApplication _run] () #12 0x00390a9b in UIApplicationMain () #13 0x00002489 in main (argc=1, argv=0xbffff664) at /Users/username/Documents/Projects/projectname/main.m:36 What would be a good way to track this one down ? Is there a way to see objects that accumulate in the AutoreleasePool and know which it is trying to free that doesn't exist anymore ? Searched around quite a bit on this one, tried many different things (and fixed a whole lot of leaks in my class in the process) and nothing seems to quite fix this one.