Интереса ради, изучал возможность асинхронной блокировки и наткнулся на данный вопрос, где почти все сказали ТСу, что это зло.
Однако, как объяснить наличие SemaphoreSlim.WaitAsync?
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости