new ThreadPoolExecutor(MAX_WORKER_THREADS, MAX_WORKER_THREADS,
10L, TimeUnit.MINUTES,
new LinkedBlockingQueue<Runnable>(),
threadFactory);

この部分が SwingWorker の ExecutorService 実装の部分だよ!
スレッドプールを使ってて、10個のスレッドをプールして使うようになってるね!!
すぐ終了する Worker 走らせても、スレッドプールは次のタスクに備えるために、スレッドを10個まで残しておくよ!