Je to jen ukázka toho, "že to jde".
TextReader a TextWriter jsou abstraktní třídy... Čili nemůžeš je instanciovat, ale ukazatel na objekt StreamReader(potomka) může být TextReader(rodič).
Čili jako bys napsal Object o = new StreamWriter(lStream); (ovšem: ((TextWriter)o).WriteLine(...))
Btw: Jak jinak bys chtěl napsat článek o TextWriteru, kdybys ho ani v jednom příkladu nepoužil.