Da Performance mein Hobby ist hab ich mir mal erlaubt Deine Aussage bzgl. der Performance zu untergraben ;-)
Mal so als Anregung: Da Du immer DirectoryInfo und FileInfo nutzt, wird unnötig viel Overhead geladen - dies merkt man vor allem bei der Verwendung von Netzwerkressourcen
über SMB.
Bei vielen kleinen Dateien ist Dein erzeugter Overhead größer als der Inhalt der eigentlichen Datei! Auch wunderbar im Wireshark nachzuvollziehen.
Verwendete stattdessen besser direkt die Windows API.
Zum Beispiel mit dem Wrapper
FastDirectoryEnumerator. Hier hast Du wirklich messbare Unterschiede zu Windows. Vor allem über Netzwerke.
Deine 60% im Gegensatz zu den 100% konnte ich nicht bestätigen.
Grüße