La razón de que "no debería" es debido al problema que se da en los códigos OO. Es un
Code Smell.
"
Plano es mejor que anidado". Es una (posible) falla de diseño el tener una jerarquia muy profunda. Es reconocido ahora que es mejor componer que heredar en la OO (y en general). Asi que la existencia de clases hoja puede indicar que es momento de "cerrar" la profundidad y dejar de que crear tanta subclase.
La OO es un arbol. Mientras mas grande y profundo, mas complejo y fragil. Mientras mas aplanado, mejor.
Pero eso es una idea para quien genera clases y quiere evitar una "explosion de clases". Cada nueva clase genera un crecimiento en la complejidad y eso hay que evitarlo.
Pero si estas haciendo introspección, el que esten "mal" o "bien" las clases es irrelevante. Tu tarea es analizar lo que hay, no criticarlo
P.D: Porque quieres hacer algo tan raro?
P.D.2: Te puede interesar mucho leer esta presentacion:
http://www.slideshare.net/ScottWlasc...s-buildstufflt
Tambien aqui se muestra que los patrones de diseño en OO son basicamente deficiencias de los lenguajes (en su
implementacion de la OO):
http://www.norvig.com/design-pattern...n-patterns.pdf