While browsing the MSDN documentations on Equals overrides, one point grabbed my attention.
On the examples of this specific page, some null checks are made, and the
It is possible for a type to overload the == operator. The cast to object ensures that the original definition is used.