IMO this fix is not correct - it will waste some random thread from the threadpool being blocked. Better option will be to implement the fix in FS.C.S - by introducing non-blocking version of `ClearLanguageServiceRootCachesAndCollectAndFinalizeAllTransients`. Fragment that introduces blocking in current implementation is `WaitForBackgroundCompile`, however given that we would like to start from the clean sheet and drop the entire environment - there is no point to wait for the completion of compilation just to discard the result. Instead we should clean caches in the `InteractiveChecker` as it is done today and then send a non-blocking request to the `Reactor` to clean its internal state\stop building.