Решение: взаимная блокировка при вызове .Result или .Wait() у async-метода в C#
Блокировка async-Task через .Result или .Wait() приводит к взаимной блокировке при наличии SynchronizationContext. Здесь объясняется, почему происходит зависание и как это исправить в .NET 11 и C# 14.