retain/release pattern

The reason behind this retain/autorelease pattern is to ensure that the "object" will not be destroyed until the caller's autorelease pool drains so protecting the caller from other threads releasing the "object" in the middle of an access.

What do you think? Let me know by getting in touch on Twitter - @wibosco