Это старый поток, но он просто хотел предупредить о предлагаемом решении: решение Suspend and Resume не работает - я только что столкнулся с тупиковой ситуацией в своем коде, пытаясь выполнить последовательность Suspend / StackTrace / Resume.
Проблема в том, что конструктор StackTrace выполняет преобразования RuntimeMethodHandle -> MethodBase, и это изменяет внутренний методInInfoCache, который принимает блокировку. Тупик возник из-за того, что нить, которую я изучал, также выполняла отражение и удерживала этот замок.
Жаль, что приостановка / возобновление не выполняется внутри конструктора StackTrace - тогда эту проблему можно было легко обойти.