I recently created an ASP.NET Debugger Extension for IIS 7 that you can use to troubleshoot issues that would usually involve taking a memory dump of the process.
One of the features in this extension is the ability to get a managed stack trace of all the threads in the worker process that are running .net code.
All you need to do is to select the worker process that you want to examine and hit Get Callstacks. In a few seconds you will get a list of threads with their callstacks.
This feature can be used to figure out what a process is doing during performance/hang issues. For example the above picture tells you that on one of the threads sleep.aspx was running and it is currently in the Page_Load function.
The extension uses mdbgcore.dll to attach to the process and will only lists callstacks for threads that are running managed code.