Inverting 3rd party dependency
public static TFile Load(TextReader reader)
{
    var file = new TFile();
    file.Rows = file.Read(RowReader.Create(reader));
    return file;
}



In order to get rid of the mutable property file.Rows I suggest taking a look at Autofac's factory delegate for creating TFile immutably and injecting this delegate as a dependency. 

Alternatively you could register them via named and keyed services and pick the right factory by TKey with Type as key. I use this techniques quite often.

I guess other dependency injection frameworks could do similar magic.