Theo posted a short article on singletons and difference ways to achieve them in C#.  It's a good preface and shows why encapsulatin ghtat logic in something like a lazy loader can be beneficial so you dont' end writing the same boiler plate code repeatedly.  However, he maes it clear that a fundamental tenet of singletons is that they are: “immutable, immutable, immutable”.  However, in one of his examples he violates that contract in teh presense of standard .net functionalities like serialization.  I pointed this out to him and he's going to address that issue.  One things we're very inclear on is how to make the singleton pattern work outside of the context of an AppDomain or in a distributed system.  I'm going ot break out my DS book to see if it has anything ot say on this issue.