Muy buena pregunta. Solo tengo una respuesta parcial. Actualmente hay 4 clases que se derivan de Tipo. Puede encontrar la jerarquía de tipos en MSDN.
System.Object
System.Reflection.MemberInfo
System.Type
System.Reflection.Emit.EnumBuilder
System.Reflection.Emit.GenericTypeParameterBuilder
System.Reflection.Emit.TypeBuilder
System.Reflection.TypeDelegator
Parece que esos tipos se utilizan básicamente para encapsular una lógica de "creación de instancia". Pero no he explorado el código.
Edición
Oh, vaya ... eso es interesante. Los ejemplos de código parecen no solo crear instancias de tipos, sino también clases sí mismos. Por lo tanto, algunas de estas clases crean tipos CLR y los guardan en ensamblajes reales. Eso es muy bonito.
Editar Una vez más
Algunos de los perros grandes han dicho que hay más de los cuatro tipos que se enumeran más arriba. Solía Reflector ReSharper para encontrar los tipos derivados y encontrado los (tipos todavía podría faltar):
System.Type
System.RuntimeType
System.ReflectionOnlyType
System.Reflection.Emit.EnumBuilder
System.Reflection.Emit.GenericTypeParameterBuilder
System.Reflection.Emit.SymbolType
System.Reflection.Emit.TypeBuilder
System.Reflection.Emit.TypeBuilderInstantiation
System.Reflection.TypeDelegator
Editar Una vez más
como se indica @MarcGravell, no hay realmente ninguna razón por qué querría derivar una clase de cualquiera de estos. Sin embargo, podría usarlos dentro de una clase propia para encapsular su propia lógica.
¡Pregunta muy interesante! Pero elimine ese bloque de código innecesario, realmente no agrega más valor a su pregunta que solo 'clase MyType: tipo {...}'. – stakx
voy a dejar que alguien con privilegios de edición que esté de acuerdo contigo lo haga, creo que es inútil ver lo que debe implementar una clase derivada para compilar ... –