Rubyだと、外部の入出力で、\r\nを使っていても、
Rubyインタプリタ内部では、\nに変換されている
\r\n → \n → \r\n

よく知らないけど、.NETも内部では、
\nに変換されていることは無いだろうか?