Hi Jaikiran, While I'm waiting for the next hang... I've made a thread dump from JmxConsole. I have 2048 workmanagers in state Waiting... is this right? Thanks, Martín Thread: WorkManager(2)-2025 : priority:5, demon:true, threadId:2365, threadState:WAITING sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.park(LockSupport.java:118) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1841) java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359) java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) java.lang.Thread.run(Thread.java:595) Thread: WorkManager(2)-2026 : priority:5, demon:true, threadId:2366, threadState:WAITING sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.park(LockSupport.java:118) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1841) java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359) java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) java.lang.Thread.run(Thread.java:595) Thread: WorkManager(2)-2027 : priority:5, demon:true, threadId:2367, threadState:WAITING sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.park(LockSupport.java:118) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1841) java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359) java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) java.lang.Thread.run(Thread.java:595)