¿Cómo añadir un valor en una lista dentro de otra lista que ya existe? C#

tengo un fallo y no se como arreglar el fallo es el siguiente:
Tengo una lista, que a su vez es de tipo <List<String>>, con el constructor lo que hago es guardar cierta info, y lo que tengo codificado es lo siguiente:

    List<List<string>> opciones = new List<List<string>>();
public Opcion(){
    var opcionesC = File.ReadAllText(this.dir).Split(";R;").ToList();
    opcionesC.RemoveAll(item => item == "");
    for(int i=0;i<opcionesC.Count;i++){
        this.opciones.Add(new List<string>());
        string() opc= opcionesC(i).Split("n");
        foreach(var t in opc){
            if(t.IndexOf("Marc")!=-1){
                this.opciones(i).Add(t);//Solo se añade este de aqui.
            }
            if(t.IndexOf("Model")!=-1){
                this.opciones(i).Add(t.Remove(0,5));//El problema es esto, no se quiere añadir.
            }
            if(t.IndexOf("Tip")!=-1){
                this.opciones(i).Add(t.Remove(0,3)); //El problema es esto, no se quiere añadir.
                break;
            } 
        }
    }
}

Luego al hacer un output me sale lo siguiente;

Marca: Audi
Marca: BMW

etc..
Y lo que necesito es que me salga lo siguiente:

Marca: Audi
Modelo: A4
Tipo: Turismo

Alguien sabría decirme donde esta el fallo, Gracias!