Warum die Meldung mit den Duplikaten kommt kann ich dir nicht sagen, aber ein Objekt als Key zu nehmen ist nicht so praktisch. Vor allem kannst du auf die Weise nicht überprüfen ob ein Objekt schon in der Liste enthalten ist.
Denn die Objekte sind nur Pointer (Zahlen) und dieser Pointer ist grob gesagt für jedes Objekt unterschiedlich, selbst wenn die Daten des Objekts identisch sind.
Damit das funktioniert musst du nach EXAKT dem Objekt suchen was du beim Add angegeben hast, nicht einer Kopie mit denselben Werten.
Genau dafür gibt es die Comparer ...
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)