I've found a bug when using ListNodes in jclouds-chef. The problem is related to the thread pool that is used when ListNodes is called.
When using ListNodes, for each node that exists in Chef, a new task is submitted to the pool "USER_THREADS". Each one of these submitted tasks generates another Runnable - to do the HTTP request - and submits it to the same thread pool. So, when we have a large number of nodes(an usual scenario when dealing with Chef), all threads in the pool are blocked waiting its own thread responsible to do the HTTP request and no thread is left to effectively do the HTTP request. After the configured timeout, a lot of java.util.concurrent.TimeoutException are thrown.
I am already working to fix it and I will release a pull request soon (maybe, in a few days).