If anyone does KVO on your object, they will be sent a "property changed" notification when you call self.myvar = nil in your dealloc method.
It's quite likely that whoever gets notified of the property change will attempt to access your object, but now your object is in a half-destroyed state.
It's quite likely that whoever gets notified of the property change will attempt to access your object, but now your object is in a half-destroyed state.