It turns out everything looked right but there was a small error in the logic. If it helps anyone, when you are using a StreamReader, you need to set it like this:
StreamReader sr = new StreamReader(filestreamobj,System.Text.Encoding.Default);
If you don't set that property it reads with some other encoding type and tends to mess with quotation marks.