Обратите внимание, что комментарии к ответу oxigen о том, что -drain не выпускает NSAutoreleasePool, не верны. В документации для NSAutoreleasePool четко сказано, что -drain высвобождает (и, следовательно, уничтожает) NSAutoreleasePool.
-drain является заменой для использования -release для объектов NSAutoreleasePool, единственное отличие состоит в том, что он дает подсказку системе сбора мусора.