In TP.setOOBThreadPool, we shut down the new rather than the old thread pool !
public void setOOBThreadPool(Executor oob_thread_pool) {
if(this.oob_thread_pool != null)
this.oob_thread_pool=oob_thread_pool;
}
shutdownThreadPool(oob_thread_pool) needs to be changed to shutdownThreadPool(this.oob_thread_pool) !
This bug does NOT occur in setDefaultThreadPool().