Przez przypadek dokładając swoją cegiełkę do dyskusji o tym, czy wzorzec singielton jest dobry czy zły, doszukałem się dość ciekawej klasy w .NET 4.0, mianowicie klasy Lazy<T> wprowadzonej w .NET 4.0. Klasa ma dość rozbudowany jak na C# sposób obsługi tworzenia obiektów z opóźnioną inicjalizacją w aplikach wielowątkowych. Poniżej, zwięzły opis i przykład zastosowania.