Полное исчерпание системной памяти вызывает полную перезагрузку устройства.Раньше это было более распространено в iPhone OS 2.0, работающей на ограниченном оборудовании первоначальных iPhone и iPod touch.В последних версиях ОС Apple более жестко предписывала принудительное уничтожение вашего приложения, когда оно превышало потолок памяти, поэтому сделать это стало намного сложнее.Кроме того, устройства имеют гораздо больше памяти, чем раньше.
Один из способов, которыми вы можете иногда это делать, - загружать много больших текстур или других графических компонентов, которые могут быть не сразу идентифицированы как память, используемая вашим приложением.Я был в состоянии вызвать перезагрузку системы при загрузке стопки данных в графический процессор в тесном цикле.Вы можете столкнуться с чем-то подобным здесь.
Я сомневаюсь, что это связано с количеством активных потоков, которые вы используете, хотя они, вероятно, облегчают вам сбросить беспорядок данных в память, прежде чем система сможетубить ваше приложение.
Кроме того, вместо того, чтобы иметь кучу потоков, которые потребляют ресурсы, вы рассматривали использование GCD или основанной на очереди инфраструктуры, такой как ASIHTTPRequest?Они могут быть более эффективными для вашего приложения, но при этом обеспечить необходимый вам параллелизм.