Dormir un hilo dentro de un ExecutorService (Java / Clojure)

Tengo un número bastante masivo de hilos que se crean dentro de un programa clojure:

(import '(java.util.concurrent Executors)) 
(def *pool*   
  (Executors/newCachedThreadPool))

(defn do-something []
  ; work
  Thread/sleep 200
  ; repeat)

(dotimes [i 10000]
  (.submit *pool* do-something)) 

Ha pasado un tiempo entre JVM para mí y básicamente me pregunto aquí si hay algún argumento en contra de usar el modo de suspensión o ceder dentro de la función que ejecuta el Ejecutor. Si entiendo correctamente, en este caso, cada uno de mis trabajadores tiene su propio hilo y, por lo tanto, no debería haber efectos secundarios.

Si el ejecutor está utilizando un FixedThreadPool:

(Executors/newFixedThreadPool 1000)

as cosas se vuelven más complicadas porque los subprocesos no se devolverán al grupo hasta que se complete su trabajo, lo que significa que los otros trabajadores en cola tardarán más en completarse si los subprocesos están durmiendo.

¿Es correcto mi entendimiento de subprocesos en esta instancia?

(Nota: sospecho que mi diseño es realmente incorrecto, pero solo quiero asegurarme de que estoy en la página correcta)