Почему возникает OutOfMemoryException в текущей ситуации?
Размер объекта в .Net до версии 4.5 ограничен 2Gb. В 4.5 можно аллокировать используя 
gcAllowVeryLargeObjects
https://msdn.microsoft.com/en-us/library/hh285054%...
Но лучше не заморачиваться и делать так:static IEnumerable<string> ReadLines(string filename)
{
    using (TextReader reader = File.OpenText(filename))
    {
        string line;
        while ((line = reader.ReadLine()) != null)
        {
            yield return line;
        }
    }
}
Ну как бы большие файлы лучше так https://msdn.microsoft.com/en-us/library/dd997372(v=vs.110).aspx