title: The constructor of a singleton class is called twice
body: <p>I am reading a code, there is a singleton class like this:</p>
  
  <pre><code>class Employee
  {
      public static readonly Employee Instance = new Employee();
  
      private Employee()
      {
          /* This messageBox shows different numbers */
          MessageBox.Show("Thread ID " + Thread.CurrentThread.ManagedThreadId);
      }
  }
  </code></pre>
  
  <p>The constructor of this class is called two times in same process without creating another Domain. The messageBox that is in constructor shows two different number. Is it possible or I'm wrong?</p>
  
  <p><strong>NOTE:</strong> I'm hosting my executable assembly in a c++ project, but there isn't something different and many large projects are working right.</p>