A discussion earlier today led me to question whether or not my understanding of primtives and literals is correct.
My understanding is that a literal type is spec
I guess one thing you did not mention is space and allocation. Primitives are value types and are allocated on the stack (as long as they are not associated with an object) except for the string type as you mentioned (the string class allocates its space on the heap).
Although objects themselves contain primitives there storage resides where the actual object is allocated, which is on the heap.
Other then that your statement is pretty well written. Do you have a specific question that I missed :)?