Du rufst GetFiles innerhalb deiner Suchschleife auf, also für jedes Element von lstFiles einmal. Das ist unnötig. Mach das vorher, leg das Ergebnis in einer Liste ab, und prüfe gegen diese Liste.
Das kommt darauf an, welches Ergebnis du haben willst.
Wenn du wissen willst, welche Namen in beiden Listen sind, brauchst du Enumerable.Intersect. Willst du wissen, welche in der einen, aber nicht in der anderen sind, brauchst du Enumerable.Except.
Dazu solltest du aber zunächst dafür sorgen, dass du zwei Listen mit Strings hast, die Dateinamen enthalten. Die eine aus der Datei, die andere aus dem Verzeichnis.
Wenn du das richtig anstellst, kommst du ganz ohne Schleifen aus.