title: Use case of IEqualityComparer<TKey> on generic dictionary
body: <p>Today while researching for a project I was looking through the docs for <a href="http://msdn.microsoft.com/en-us/library/xfhwa508.aspx" rel="nofollow"><code>Dictionary&lt;TKey, TValue&gt;</code></a>. There I found some remark I may have overlooked in the past:</p>
  
  <p><em>Because keys can be inherited and their behavior changed, their absolute uniqueness cannot be guaranteed by comparisons using the Equals method.</em></p>
  
  <p>This same remark seems to be sprinkled all over the docs for most (keyed) collection classes I looked at afterwards. But I wasn't able to find any examples that illustrate the potential problem described, although I'm quite sure that this is what the constructors accepting an <code>IEqualityComparer&lt;TKey&gt;</code> are for, and that it arises when complex types are being used as keys.</p>
  
  <p>Can anyone explain to me under which circumstances one might run into a problem this comment points at? As long as I don't know exactly how or when such a problem may arise, I can't design to allow for it.</p>