Per quel poco che ho testato, sembrava che non me li chiudesse subito. Non so se con "become idle" intenda "quando hanno raggiunto il keepAliveTime", oppure (che sarebbe un po' più plausibile) "quando non stanno facendo task".
In questo caso, penso che runnare del codice per monitorare in qualche modo lo stato dei thread non sia una pessima idea.