das ist ein Sonderfall der für anonyme Type gilt. Bei denen ist wie bei normalen Referenztypen das == als Referenzvergleich implementiert während Equals (sowie GetHashCode) mithilfe von Equals (GetHashCode) der Eigenschaften umgesetzt wird.
Danke soweit, wenn ich mir Equals im Reflector anschaue, sehe ich leider keine Implementierung :( (neue Frage stellen oder meinste es reicht ein Kommentar?)
Ich glaube ein Kommetar reicht: Die Implementierung entspricht dem Aufruf von InternEquals und dieser führt einen Referenzvergleich durch. D.h. es wird geschaut ob die beiden Objekte den gleichen Speicherplatz haben (einfach gesagt).