title: Remove one Item in ObservableCollection
body: <p>I have some method like:</p>
  
  <pre><code>public void RemoveItem(ObservableCollection&lt;SomeClass&gt; collection, SomeClass instance)
  {
      if(collection.Contains(instance))
      {
          collection.Remove(instance);
      }
  }
  </code></pre>
  
  <p>First, even the collection contains the instance, the <code>if</code> sentence still return <code>false</code>.</p>
  
  <p>Second, I delete the if sentence, just make the collection can remove the instance. And after the execution the collection still kept its original items, which still include instance.</p>
  
  <p>Is it the Reference problem, but how to fix it? I just want to remove one item from the ObservableCollection and keep its Observable functionality (<strong>which puzzled me <a href="http://updatecontrols.net/doc/tips/common_mistakes_observablecollection" rel="noreferrer">here</a></strong>).</p>