<!--  As an open source project with a dedicated but small maintainer team, it can sometimes take a long time for issues to be addressed so please be patient and we will get back to you as soon as we can.
-->

### Preflight Checklist
<!-- Please ensure you've completed the following steps by replacing [ ] with [x]-->

* [x] I have read the [Contributing Guidelines](https://github.com/electron/electron/blob/master/CONTRIBUTING.md) for this project.
* [x] I agree to follow the [Code of Conduct](https://github.com/electron/electron/blob/master/CODE_OF_CONDUCT.md) that this project adheres to.
* [x] I have searched the issue tracker for an issue that matches the one I want to file, without success.

### Issue Details

* **Electron Version:**
  * 10.0.1
  * 10.0.0-beta.10
  * 9.2.1
* **Operating System:**
  * Windows 10 (2004)
  * macOS 10.15.6
* **Last Known Working Electron version:**
  * 10.0.0-beta.9
  * Issue is seen in 10.0.0-beta.10

### Expected Behavior
AudioWorklets can be created and destroyed multiple times while `nodeIntegrationInWorker` is enabled.

### Actual Behavior
AudioWorklet can only be created and destroyed once. Upon creating a second AudioWorklet, the UI hangs indefinitely.

### To Reproduce
Electron Fiddle: https://gist.github.com/samuelmaddock/5430479c0a08eca3f693df2518c9887d

1. Load Audio Worklet examples directory: https://googlechromelabs.github.io/web-audio-samples/audio-worklet/
2. Open a demo and click start.
3. Navigate back and return to the demos directory.
4. Open another demo and click start.

UI should no longer be responsive.

shell/common/node_bindings.cc
std::string options;
    env->GetVar("NODE_OPTIONS", &options);
    std::vector<std::string> parts = base::SplitString(
        options, " ", base::TRIM_WHITESPACE, base::SPLIT_WANT_NONEMPTY);
    bool is_packaged_app = IsPackagedApp();
    for (const auto& part : parts) {
      
      std::string option = part.substr(0, part.find('='));
      if (is_packaged_app &&
          allowed_in_packaged.find(option) == allowed_in_packaged.end()) {
        
        LOG(ERROR) << "Most NODE_OPTIONs are not supported in packaged apps."
                   << " See documentation for more details.";
        options.erase(options.find(option), part.length());
      } else if (disallowed.find(option) != disallowed.end()) {
        
        
        LOG(ERROR) << "The NODE_OPTION " << option
                   << " is not supported in Electron";
        options.erase(options.find(option), part.length());
      }
    }
    
    env->SetVar("NODE_OPTIONS", options);
  }
}
}  
namespace electron {
namespace {
std::unique_ptr<const char* []> StringVectorToArgArray(