### Summary

The units in `test/units/plugins/strategy/test_strategy.py` have become problematic, and fail randomly due to something in the test not properly tearing down ansible.  Eventually the tests are killed in CI, and most frequently on python3.5.

See https://github.com/ansible/ansible/pull/74048

### Issue Type

Bug Report

### Component Name

test/units/plugins/strategy/test_strategy.py

### Ansible Version

```console (paste below)
$ ansible --version
2.11
```


### Configuration

```console (paste below)
$ ansible-config dump --only-changed

```


### OS / Environment

default test container, frequently with Py3.5 in CI

### Steps to Reproduce

<!--- Paste example playbooks or commands between quotes below -->
```yaml (paste below)

```


### Expected Results

No hang in CI

### Actual Results

Transient hangs in CI

mock_host.name = "host%02d" % (i + 1)
            mock_host.has_hostkey = True
            mock_hosts.append(mock_host)
        mock_hosts_names = [h.name for h in mock_hosts]
        mock_inventory = MagicMock()
        mock_inventory.get_hosts.return_value = mock_hosts
        mock_tqm = MagicMock()
        mock_tqm._final_q = mock_queue
        mock_tqm.get_inventory.return_value = mock_inventory
        mock_play = MagicMock()
        mock_play.hosts = ["host%02d" % (i + 1) for i in range(0, 5)]
        strategy_base = StrategyBase(tqm=mock_tqm)
        strategy_base._hosts_cache = strategy_base._hosts_cache_all = mock_hosts_names
        mock_tqm._failed_hosts = []
        mock_tqm._unreachable_hosts = []
        self.assertEqual(strategy_base.get_hosts_remaining(play=mock_play), [h.name for h in mock_hosts])
        mock_tqm._failed_hosts = ["host01"]
        self.assertEqual(strategy_base.get_hosts_remaining(play=mock_play), [h.name for h in mock_hosts[1:]])
        self.assertEqual(strategy_base.get_failed_hosts(play=mock_play), [mock_hosts[0].name])
        mock_tqm._unreachable_hosts = ["host02"]
        self.assertEqual(strategy_base.get_hosts_remaining(play=mock_play), [h.name for h in mock_hosts[2:]])
        strategy_base.cleanup()
    @patch.object(WorkerProcess, 'run')
    def test_strategy_base_queue_task(self, mock_worker):
        def fake_run(self):
            return
        mock_worker.run.side_effect = fake_run
        fake_loader = DictDataLoader()
        mock_var_manager = MagicMock()
        mock_host = MagicMock()