Ответ 1
Ваше предположение верно. Когда вы можете убедиться, что конкретный поток никогда не использует автореализованные объекты, этому потоку не нужен пул авторезистов.
Избегание автореферата - плохой совет, монета имеет две стороны. Использование объектов autorelease'd несет определенный объем накладных расходов (хотя и незначительный в большинстве сценариев), которые следует избегать, когда это возможно. Особенно в тех случаях, когда есть несколько выходов к методу или может быть обнаружено исключение, автореализация помогает избежать утечек памяти и делает код более чистым.
Помните, что это означает, что ничто в этом потоке не может использовать autorelease, включая любые фреймворки, которые вы можете назвать. Бывают ситуации, когда это имеет место, например, в классическом сценарии производителя/потребителя. У вас есть производитель, который создает объекты, отправляет их в основные потоки runloop и может регистрировать их в основных потоках autoreleasepool.
В общем, я бы не рекомендовал создавать поток, где выполняется значительная работа (помимо простого, долгого вычисления) без autoreleasepool.