Stack Traces
Just when you think you know all the cool stuff the framework does, something like System.Diagnostics.StackTrace pops up. Try this:
catch(Exception ex)
{
StackTrace st = new StackTrace(ex, true);
}
Now, you have a strongly typed version of the stack trace from your exception. Very cool stuff, you can get IL offsets, native byte offsets, source code files, line numbers, column numbers, etc. You can also use the StackTrace class to get a stack trace from any arbitratry line of your code.
I wonder how much more hidden goodness is out there...