Can somebody give some good real-world examples of where it is appropriate to use a Singleton pattern in a .NET application? One application I inherited with suspect architecture has every business logic class set up to use the singleton pattern. What are the advantages of this other than not having to instantiate a new object everytime I want to access business logic?