I had a problem I was debugging where the framework was throwing an exception about 15 levels deep into it's own stack, and my code calling it was perfectly valid. I came accross this very useful entry on The Code Project by Sumeet Kumar
http://www.codeproject.com/dotnet/Debug_Framework_Classes.asp
Basically you're able to use ildasm to extract the framework's IL, recompile it in debug mode and gacutil it back into the GAC (although his post missed the fact that you need to use sn.exe to skip verification). You now have a debuggable framework with source files, and are able to step into the framework's IL!
For anyone who frequently needs to know what's going on under the hood in real time, this is definately a useful tip.