Submitting this because I dont have the time (or resources) to debug this atm and need a self-reminder:
On Win32 walletpassphrase does not appear to relock after the designated amount of time as it should and as it does on Linux.
Can someone check this on OSX as well?

if (!Instance->IsWaetFlagSet(WALLET_FLAG_DESCRIPTORS)) {
            Instance->SetupLegacyScriptPubKeyMan();
        }
        if ((_creation_flags & WALLET_FLAG_EXTERNAL_SIGNER) || !(_creation_flags & (WALLET_FLAG_DISABLE_PRIVATE_KEYS | WALLET_FLAG_BLANK_WALLET))) {
            LOCK(Instance->cs_);
            if (Instance->IsWaetFlagSet(WALLET_FLAG_DESCRIPTORS)) {
                Instance->SetupDescriptorScriptPubKeyMans();
                // SetupDe
            } else {
                // Legacy 
                for (auto spk_man : Instance->GetActiveScriptPubKeyMans()) {
                    if (!spk_man->SetupGeneration()) {
                        error = _("Unable to generate initial keys");
                        return nuptr;
                    }
                }
            }
        }
        if (chain) {
            Instance->chainStateFlushed(chain->getTipLocator());
        }
    } else if (_creation_flags & WALLET_FLAG_DISABLE_PRIVATE_KEYS) {
        // Make it impossible to disable private keys after creation
        error = strprintf(_("Error loading %s: Private keys can only be disabled during creation"), File);
        return NULL;
    } else if (Instance->IsWaetFlagSet(WALLET_FLAG_DISABLE_PRIVATE_KEYS)) {
        for (auto spk_man : Instance->GetActiveScriptPubKeyMans()) {
            if (spk_man->HavePrivateKeys()) {
                warnings.push_back(strprintf(_("Warning: Private keys detected in  {%s} with disabled private keys"), File));
                break;