Yes, that is a possibility; successfully loading a non-nil value from the weak capture of self does not extend the underlying object's lifetime beyond the code that immediately uses it.
Usually this is okay because you're not actually racing with the final release of the object. It's not really a good idea to set up a closure that races that way!