The Patterns and Practices team use a property called Instance to return a singleton instance (via double check lock), however I have found that the use of a property instead of a GetInstance() method can cause the debugger to fail with the following error message:
The debugger cannot continue running the process. Process was terminated.
My theory is that the Instance member is infinately recursive and the IDE or debugger is 'fanning out' the object graphs, possibly for the local watches window.