title: Inconsistent "Cross-thread operation not valid" exception
body: <blockquote>
    <p>Cross-thread operation not valid: Control '' accessed from a thread
    other than the thread it was created on.</p>
  </blockquote>
  
  <p>My colleague is getting this exception on my code but i am not.</p>
  
  <p>On a form i have a control where a user is able to add some strings to a ListView. </p>
  
  <p>Ive exposed a property in my control which returns the strings inside an XmlDocument. </p>
  
  <pre><code>public XmlDocument XmlConfig
  {
      get
      {
          return GetXML();
      }
  }
  </code></pre>
  
  <p>Get XML just takes the ListViewItem collection and formats them into an xml document. </p>
  
  <pre><code>private XmlDocument GetXML()
  {
      foreach(ListViewItem lvi in myListView.Items)   &lt;-- Exception Here
      {
           // Do Stuff
      }
  }
  </code></pre>
  
  <ol>
  <li><p>Why am i getting this when just trying to read the list view? I thought cross thread exceptions were when you were trying to update the control from a separate thread. </p></li>
  <li><p>Why am i not getting this exception too?</p></li>
  </ol>