\r, \n, \r\nが混在する文字列の分割はTextReaderを使うことでも行えます。 例として、StringReaderを使った行分割は次のように行うことができます。

StringReaderを使って文字列を行ごとに分割する
using System;
using System.IO;

class Sample {
  static void Main()
  {
    var text = "1行目\r\n2行目\n3行目\r4行目\n\r6行目";
    var r = new StringReader(text);

    for (;;) {
      var line = r.ReadLine();

      if (line == null) break;

      Console.WriteLine(line);
    }
  }
}

TextReaderを使った行ごとの読み込みに関してはStreamReaderクラス・StreamWriterクラス §.1行ずつの読み込み (ReadLine)、StringReaderについてはStringReaderクラス/StringWriterクラス §.StringReaderクラスで解説しています。