There needs to be an option to filter blocking operations from the time spent in methods, and propagate that throughout the tree.
For example, if I'm profiling a network server application that services a large number of connections, I'm seeing 25% of the time spent in System.Net.Sockets.Socket.Receive() and another 60% spent in 2 forms of System.Threading.Monitor.Wait().
This makes it very hard to see where the real work is being done. Also, the wait times propagate back to the callers.
This is a crucial option for me.