intanto prova a sostituire i loop che fai sugli streamreader con questo:

WHILE MioStream.Read
...
...
END WHILE


così esce in automatico appena legge l'ultima riga ed eviti il controllo con la if..

poi vediamo, anche perchè non è tanto chiaro il codice