
Originariamente inviata da
MItaly
Un programma che fa un mestiere di quel genere non ha il diritto di "mangiare" più di qualche KB di memoria. Perché leggi e scrivi a blocchi delle dimensioni del file di destinazione? Stai sprecando una marea di memoria per niente, visto che non ti serve a nulla caricare così tanta roba in memoria in una volta.
Usa un buffer di dimensioni fissate (16 KB va più che bene) e usa il metodo
Read del BinaryReader per leggere di volta il pezzettino di file.