The `_taskExecutor` pointer is destroyed before the `_monitors` members which refer to it, causing them to trip over uses of destroyed memory in some cases.
Simply reversing the order of these members should be sufficient to effect a fix.
The `_taskExecutor` pointer is destroyed before the `_monitors` members which refer to it, causing them to trip over uses of destroyed memory in some cases.
Simply reversing the order of these members should be sufficient to effect a fix.