Ho Nod32, ed i file con estensione .txt sono esclusi dal controllo.

Comunque per prova ho disabiltato tutto e riavviato: primo lancio siamo sempre sui 30 secondi, dal secondo in poi meno di 1 secondo... stramalediz.....

Ho anche provato a sostituire la variabile Stringa (ogni variazione del valore comporta la creazione di un nuovo oggetto) con uno StringBuilder, ma al primo lancio non ci sono incrementi misurabili di prestazioni.

Se sostituisco FileReader = sr.ReadToEnd con FileReader = "WWW" il tempo di esecuzione non è misurabile da StopWatch ( mi da 0 millisecondi), quindi l' unico vero problema nasce non nella dichiarazione di FileStream e Stream reader, ma in questa unica riga di codice:

FileReader = sr.ReadToEnd

e visto che i tempi sono uguali a FileReader = sr.ReadLine(), cioè sia che leggo pochi Kb sia che leggo 47.5 MB continuo a pensare che questa è dimostrazione pratica che non è un problema di lettura FISICA di dati ma di organizzazione di un qualche cosa che ignoro (cache? buffer?) da parte del Reader

Già, ma cosa e come organizzarlo meglio???
.