I am using a list to limit the file size since the target is limited in disk and ram. This is what I am doing now but is there a more efficient way?
readonly
Don't store it if possible. Just read through it if you are memory constrained. You can use a StreamReader:
using (var reader = new StreamReader("file.txt"))
{
var line = reader.ReadLine();
// process line here
}
This can be wrapped in a method which yields strings per line read if you want to use LINQ.