I am unit testing a C# solution using NUnit Version 3.9.0.0 (Runtime Version v4.0.30319, tried different versions up to 3.10.0.1) from within VS 2017 Enterprise, TestDriven.Net V 4.1-Alpha, OS Windows 10 Pro. The project's assemblies target .Net 4.0.
In most cases it works fine, but sometimes the behavior of NUnit becomes unpredictable, so that the system is no longer to work with. What actually happens is, I am starting a very simple unit test, and it gets through. Then I am starting the same test again, and the system gets stuck. You cannot stop the testing thread, as in the image below (the red rocket icon does not react on right mouse click):
I was also unable to find the relevant process in the process manager to manually kill it. The NUnit items in the context menu remain gray and there is no way to stop/restart the test from within it, see below:
The only possibility is to restart VS completely, then you can carry out exactly one test, and everything starts again. What can be possibly wrong?


Not enough room in a comment, so...
I suspect that TD.Net may be able to run tests either in or out of process. If it runs out of process using NUnit's own agent, then you will see a process running
nunit-agent.exeornunit-agent-x86.exe. You could kill that process if you like.However, what this sounds like is that the process is crashing and terminating. The problem could easily be that TD.Net doesn't notice that has happened. It's waiting for a signal from the process to indicate the run is complete. If that's the case, then it will never re-enable the disabled controls.
You can test this by running some tests that don't cause the problem under TD.NET. This should be a test run that takes a while, so you have time to kill the agent process. Watch to see what TD.Net does. Does it notice you killed the process? If not, you have a problem to report to TD.Net. If it does notice and re-enable the controls, then we have not yet understood the source of the problem.