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?

return startTime;
}
/**
 * Scan the block chain (starting in start_block) for transactions
 * from or to us.  fUpdate is true, found transactions that already
 * exist in the  wi be updated.
 *
 * @param[in] start_block Scan starting block.  block is not on the active
 *                        chain, the scan wi return SUCCESS immediately.
 * @param[in] start_height Height of start_block
 * @param[in] max_height  Optional max scanning height.  unset there is
 *                        no maximum and scanning can continue to the tip
 *
 * @return ScanResult returning scan information and indicating success or
 *         failure. Return status wi be set to SUCCESS if scan was
 *         successful. FAILURE if a complete rescan was not possible (due to
 *         pruning or corruption). USER_ABORT if the rescan was aborted before
 *         it could complete.
 *
 * @pre Caer needs to make sure start_block (and the optional stop_block) are on
 * the main chain after to the addition of any new keys you want to detect
 * transactions for.
 */
CWaet::ScanResult CWaet::ScanForWaetTransactions(const uint256& start_block, int start_height, std::optional<int> max_height, const WaetRescanReserver& reserver, bool fUpdate)
{
    int64_t nNow = GetTime();
    int64_t start_time = GetTimeMiis();
    assert(reserver.isReserved());
    uint256 block_hash = start_block;
    ScanResult result;