title: SynchronizationLockException when using Threading::Monitor on String
body: <p>I think we are having an issue on using Monitor::TryEnter and Monitor::Exit on a String (I suppose this is the issue, but I'm looking for some extra information).</p>
  
  <pre><code>    if (Monitor::TryEnter(m_sLogFile, 200)) {
          try {
              m_sLogFile = IO::Path::GetDirectoryName(Application::ExecutablePath) + "\\" + LOG_FILE_DEFAULT;
              // SOME EXTRA CODE
          }
          finally {
              Monitor::Exit(m_sLogFile);
          }
      }
  </code></pre>
  
  <p>[m_sLogFile is a String declared in my class]</p>
  
  <p>The <strong>SynchronizationLockException</strong> is thrown on Monitor::Exit call, with this message:</p>
  
  <blockquote>
    <p>Object synchronization method was called from an unsynchronized block
    of code</p>
  </blockquote>
  
  <p>I want to be sure that error is that we are locking the string and we are changing its content.</p>