По всему видео есть путаница между потоками и очередями. Thread != Queue. В GCD мы оперируем Queues (очередями). А ОС сама определяет каким потоком (Thread) будет взята очередь (Queue). Уверен, что автор это понимает очень хорошо, просто оговорки на автомате. Но тех, кто обучается, это может запутать.
Отличная лекция, спасибо! Похоже, что айтемы отменяются на 49 минуте по аналогии с начальными заданиями с принтами. Переключение контекста достаточно долгое, поэтому айтемы просто еще не успевают запуститься, почти мгновенно выполняется следующий код на главной очереди (async уже выполнится после не очень большого количества быстрых операций, его мы как бы пролетаем, но для более длительных операций уже все будет нелинейно)