Releases and pops the receiver.
In a reference-counted environment, since an autorelease pool cannot be retained (see
retain), this method causes the receiver to be deallocated. When an autorelease pool is deallocated, it sends a
release message to all its autoreleased objects. If an object is added several times to the same pool, when the pool is deallocated it receives a
release message for each time it was added.
In a garbage-collected environment, this method is a no-op.
You should typically use
drain instead of