I find the dynamic shrinking functionality generally obsolete, all reasons I can think of (stack size of 1 MB, or additional file descriptor, tiny additional OS scheduling overhead) do not seem to counterweight the latency overhead of firing up a new thread lazily.
What would be the best use case for an automatically shrinking (timeout-based) thread pool (Posix threads on x86_64 hardware) to demonstrate it is still a usable pattern?