Pavel’s comment on my previous post was spot-on:
this == null may evaluate to true if the == operator has been overloaded for the type in question.
I will give an example; but before I do, here’s another little teaser: can you come up with a program in which the following line compiles?
this = null;
Eh? Eh? What do you think?