вот как я реализовал singleton в предыдущем проекте
private static readonly Lazy<ExercisesContainer> lazy = new Lazy<ExercisesContainer>(() => new ExercisesContainer());
public static ExercisesContainer GetInstance
{
get { return lazy.Value; }
}
private ExercisesContainer()
{
...
}