Maybe I'm missing something, but I can't see how you'd override Object.Equals(Object, Object) - it's a static method, referenced through the type name "Object".
...unless Object.Equals(Object a, Object b) internally is written to return a.Equals(b) ?
(but then Object.Equals(a,b) and Object.Equals(b,a) might be different if a and b are different types, and override Equals() differently).
If the static Object.Equals() internally uses the instance method from one of its arguments, the documentation ought to make that clear, since otherwise it looks like Object.Equals and Object.ReferenceEquals
might do exactly the same thing, but then the remarks suggest otherwise... it's confusing.