Start by using a converter to generate sample classes from the JSON:
Convert JSON to C# Classes Online - Json2CSharp Toolkit[
^] is the one I use.
Then compare that to the classes you expect the deserialize to generate. If they aren't very, very similar, then you won't get what you want.
And I suspect that's the problem: you don't normally use a class called "T" in generics as it's generally a placeholder for the generic Type specifier that you explicitly of implicitly use when you run use the generic function / class.