Check how VSCode playground behaves in the following cases:
1) We do not call `(serviceProvider as any)?.mongoClient.close(false)` after each runtime evaluation and after the cancelation of the runtime. We just terminate the whole worker thread. Since `worker.terminate()` stops the worker and all JavaScript execution in the worker thread probably it is enough
2) When canceling a playground by `this._languageServerController.cancelAll()` if several playgrounds are open, whether or not they interfere with each other. We create a new Worker for every run of a playground. So it should be a new serviceProvider and mongoClient for each thread. Probably it should be fine.
To reference: https://github.com/mongodb-js/vscode/pull/54