Richtig rechenintensiv ist eigentlich nur FindComponent() - eine Methode, die du hier wirklich missbrauchst. Sie ist in erster Linie zur Unterstützung von Interaktionen gedacht, wo ihr Laufzeitverhalten von der Arbeitsgeschwindigkeit des Benutzers überdeckt wird.
Warum verwendest du kein Grid oder eine ListView für deine
CSV-Daten?