Einer der Gründe für die Verlangsamung bei großen Datenmengen dürfte ineffizienter Umgang mit Strings sein. In .net sind Strings unveränderlich, wenn man das Zerlegen der Zeilen falsch macht, entstehen sehr viele Stringobjekte, die der Garbage Collector dann wieder aufräumen mus.

Ob es hier Freiberufler gibt, die solche Aufträge annehmen, bezweifle ich etwas. Aber vielleicht schaut mal jemand vorbei. Wenn das jemand macht, der sein Geld damit verdient, wird das aber nicht ganz billig.