Первый поток проверяет, завершился ли таск. Если да, продолжает работу. Если нет, выходит из метода и возвращается в пул. Продолжение после await выполняется любым потоком из пула, если только не запрошено восстановление контекста (например для UI потока).
А можно документ глянуть? Мб ссылочка имеется на Майкрософт шобы я с первоисточника глянул