the "Dispatch Worker Threads" are probably created by the JobExecutor,
you can try to call the jobExecutor's stop() method on shutdown, something like this:
Object object = processEngineImpl.get("jobExecutor");
jobExecutor = (JobExecutor) object;
if (!jobExecutor.isActive()) {
jobExecutor.stop(true);
}
no idea what the com.google.inject.internal.Finalizer thread ist for