Criando uma lista de listas em c #

Eu pareço estar tendo algum problema envolvendo minha cabeça em torno da idéia de uma lista genérica de listas genéricas em c #. Eu acho que o problema decorre do uso do<T> argumento, que eu não tenho experiência anterior a brincar. Alguém poderia fornecer um pequeno exemplo de declarar uma classe que é uma Lista, que contém outra Lista, mas onde o tipo do objeto contido nela não é imediatamente conhecido?

Eu tenho lido através da documentação do MS em Generics, e não tenho certeza se posso declarar umList<List<T>>, nem como exatamente passar o<T> parâmetro para a lista interna.

Editar: Adicionando informações

Declararia umList<List<T>> ser considerado legal aqui? Caso você esteja se perguntando, eu estou construindo uma classe para que me permita usar um ulong como indexador, e (espero) contorna o desagradável limite de 2GB de .Net mantendo uma Lista de Listas.

public class DynamicList64<T>
    {
        private List<List<T>> data = new List<List<T>>();

        private ulong capacity = 0;
        private const int maxnumberofitemsperlist = Int32.MaxValue;



        public DynamicList64()
        {
            data = new List<List<T>>();
        } 

questionAnswers(5)

yourAnswerToTheQuestion