I just wanted to say that I still have this issue. I have done multiple tests, and all it takes for the problem to appear is to successfully connect to a phidget and then attempting to close that connection (whether with close() or by disposing of the object doesn't matter). I am using Phidget22, needing to activate the experimental .net in Unity (but I have no other problems).
The process simply hangs after every run, making it impossible to keep working after stopping it, and needing to have the unity process closed Ctr+Alt+Del style. It doesn't completely freeze up immidiately, but it is clearly running some infinite loop that eventually takes up all resources.
The partial solution offered here will likely work fine (haven't tried, because for reasons that have nothing to do with this it won't help me), but it can't be used in-editor (without killing the editor) and it can't be used mid-program, so please fix this.