You are doing what you are supposed to. Reinitializing was created for this purpose, but spawned threads seem to survive even after the entire Iron Python object is destroyed and recreated.
I will take another look to see if there is anything I can do, but for now you'll need to either keep restarting VC or actually keep all your threads in a list or something so you can call a function to kill them all yourself.
For what it's worth, I've been restarting VC over and over again myself when in this situation.