 <p>I think the problem is that MyModel is deallocated. When you're accessing the ivar, the objects are still there in that memory address address, the memory is not yet corrupted. But when sending a message to deallocated 'self' the runtime catches the fact that the object is deallocated.</p>