Well, not that I am trying to defend the documentation (since IMO it has many problems) but if you look at the docs for the Dictionary.ContainsValue method, you'll see:
This method determines equality using the default equality comparer EqualityComparer.Default for TValue, the type of values in the dictionary.
and if you then follow the entry for EqualityComparer.Default you'll see
The Default property checks whether type T implements the System.IEquatable generic interface and if so returns an EqualityComparer that uses that implementation. Otherwise it returns an EqualityComparer that uses the overrides of Object.Equals and Object.GetHashCode provided by T.
I say it's hard to get much clearer than that.
I guess you just need to know where to look. ;)
Custom Apps, Inc.