Very nice tips indeed!
A somewhat different approach to this might be to use the Debugger.IsAttached
Though this works somewhat different.
This looks more .NETish, but also performs differently as you can see.
I have used it many times for debugging purposes (for example, giving a value to a variable only for debugging).
Though not really a substitute for the above tips, I thought I should include this for completeness.