Oulàlà... ça me semble pas terrible de dupliquer un streamreader sur un fichier. Je dirai même que c'est très mal !
Imagine un peu que tu te mettes à jouer avec des threads...
Je suis à peu près sûr qu'il doit y avoir une autre solution : qu'est ce que tu veux faire derrière ?
Si c'est juste pouvoir marquer un emplacement E1, et pouvoir y retourner plus tard, je te conseille Seek et Position :
// tu crée ton stream
StreamReader reader = ...
// ici tu fais tes lectures ...
...
// là tu stocke ta position
long pos1 = reader.BaseStream.Position;
// ici tu fais tes lectures ...
...
// et ici tu reviens en arrière
reader.Seek(pos1, SeekOrigin.Begin);