Класс Apple NSURLConnection
вызывает его методы-делегаты в потоке, из которого он был инициирован, в то же время выполняя свою работу в фоновом потоке. Это похоже на разумную процедуру. Вероятно, пользователю вашей инфраструктуры не понравится заботиться о безопасности потоков при написании простого блока обратного вызова, как если бы вы создали новый поток для его запуска.
Две стороны медали: если обратный вызов касается GUI, его необходимо запустить в главном потоке. С другой стороны, если он этого не сделает и собирается выполнить большую работу, запуск его в главном потоке будет блокировать GUI, вызывая разочарование у конечного пользователя.
Вероятно, лучше всего поставить обратный вызов в известном документированном потоке и позволить программисту приложения определить влияние на графический интерфейс.