Frankly speaking, 

I don't think that unit tests are design to catch such issues (like any resource leaks).  Than we talk about real multi threading, obviously there is no guarantee from jvm that it will stop all threads in a given timeout. We don't know how exactly will behave Thread.getAllStackTraces() in future java versions and etc.  

You want to have a unit test, I"ve written one. I believe it will be a stable. If you ask me again, I prefer just to delete this test and fix the bug. 

The goal of this test that just to check that it doesn't create a huge amount of new threads.