Ich habe das mal in mein Projekt eingebaut und komme so auf 3 Sekunden.
Ich ahne auch inzwischen, wo mein Denkfehler lag.
Ich dachte, ich übergebe in GetHashCode einen eindeutigen Integer oder Word-Wert und danach errechnet die Dictionary-Komponente daraus den "wirklichen" Hashwert für das korrekte Fach. M.E. war dieser auch abhängig von der Größe des Dictionarys.
Schließlich übergibt Sir Rufo ja auch nur einen Pointer, also quasi das Gleiche.
-> Natürlich habe ich aber GetHashCode überschrieben und damit die Funktionalität entsprechend geändert.
Wie man auf solch eine Formel kommt wird mir wohl immer rätselhaft bleiben.
Aber ich will das jetzt auch nicht weiter ergründen.
Funktionsfähig ist es so zumindest. (Ich werde aus anderen Gründen wohl dennoch zunächst bei der Liste bleiben.)
Vielen Dank für die Geduld und Hilfe!