На эпловых осях принцип такой: сам рендер где-то в фоне на гпу, управление всем гуем только из main thread, все что блокирует основной поток (не только сеть, но и БД, и числодробилки) - через dispatch queues которые маппятся на тредпул, которым заправляет libdispatch.