It is possible to get stacktrace using System.Diagnostics.StackTrace, but thread has to be suspended. Suspend and Resume function are obsolete, so I expect that better way exists.
According to C# 3.0 in a Nutshell, this is one of the few situations where it is okay to call Suspend/Resume.