Según Java Concurrency In Practice existen las siguientes desventajas de la creación del hilo sin límites:
Tema Ciclo de Vida sobrecarga
La creación de hilos y el desmontaje no son libres. La creación de subprocesos lleva tiempo y requiere alguna actividad de procesamiento por parte de la JVM y el sistema operativo.
consumo de recursos
hilos activos consumen recursos del sistema, especialmente la memoria. Cuando hay más subprocesos ejecutables que los procesadores disponibles, los subprocesos permanecen inactivos. Tener muchos hilos inactivos puede acumular mucha memoria, presionar al recolector de basura y tener muchos hilos que compitan por las CPU puede imponer otros costos de rendimiento también. Si tiene suficientes hilos para mantener todas las CPU ocupadas, la creación de más hilos no ayudará y puede incluso perjudicar.
Estabilidad
Hay un límite en el número de hilos puede ser creado. El límite varía según la plataforma y se ve afectado por factores que incluyen los parámetros de invocación de JVM, el tamaño de pila solicitado en el constructor de Thread y los límites en los hilos colocados por el sistema operativo subyacente. Cuando llega a este límite, el resultado más probable es un OutOfMemoryError. Tratar de recuperarse de ese error es muy arriesgado; es mucho más fácil estructurar su programa para evitar llegar a este límite.
Hasta cierto punto, más hilos puede mejorar el rendimiento, pero más allá de ese punto la creación de más hilos simplemente se ralentiza su aplicación, y la creación de un hilo demasiados puede causar toda su aplicación a fallará estrepitosamente. La forma de mantenerse fuera de peligro es limitar la cantidad de subprocesos que crea su aplicación y probarla exhaustivamente para asegurarse de que, incluso cuando se alcanza este límite, no se agoten los recursos.
La creación de subprocesos ilimitados puede parecer que funciona muy bien durante la creación de prototipos y el desarrollo, con problemas que aparecen solo cuando la aplicación está desplegada y bajo una gran carga.