Почему может случится deadlock если сделать GetAwaiter().GetResult()?
Товарищ, Рассудите мысль. Блокировка происходит из за следующего
задача пытается завершиться в том потоке, в котором была вызвана, если мы вызываем GetAwaiter().GetResult(), то блокируем поток выполнения в котором была вызвана задача с await, и задача не может вернутся в вызывающий поток, потому что он заблокирован. Если не будет контекста синхронизации, полагаю это упадет на пул потоков.