It isn't. There's an optimization that removes things from the pool sometimes, but it doesn't always work, and it's used to pass back out-params like NSError**.
What you can't do is message autorelease yourself - although of course you can escape that pretty easily.
What you can't do is message autorelease yourself - although of course you can escape that pretty easily.