Мимо Проходящий
100 тасок запущенны одновременно и все кроме одной ждут, пока выполнится myLock.Release();
когда в таске доходит до await myLock.WaitAsync(); я хз что именно конкретно происходит, но ничего хорошего точно.
1) либо таска останавливается, её тред уходит назад в пул, планировщик переключается на другую таску, которая получает тред из пула - чтобы тут же вернуть его назад, поскольку блокировка не снята и т.д.
2) либо просто тред, в котором работала таска, дерётся за myLock, что логичнее, а другие таски при этом получают новый тред из пула и делают то же самое
и то и то плохо, других вариантов я не вижу
ну вроде первого, только с чего бы таска вторая сразу возвращает назад? Если она не разбужена то она так и ждет дальше