Solved the first issue by supressing key output on console with
write.Write(Console.ReadKey(true).KeyChar);
so every output comes from StreamReader.