public sealed class Singleton >{ > private static volatile Singleton instance; > private static object syncRoot = new Object(); > > private Singleton() {} > > public static Singleton Instance > { > get > { > if (instance == null) > { > lock (syncRoot) > { > if (instance == null) > instance = new Singleton(); > } > } > > return instance; > } > } >}(from http://msdn.microsoft.com/en-us/library/ff650316.aspx). Only problem is that VB doesn't have 'volatile' :-{