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?

{
    // note GetBlocksToMaturity is 0 for non-coinbase tx
    return GetTxBlocksToMaturity(wtx) > 0;
}
bool CWaet::IsCrypted() const
{
    return HasEncryptionKeys();
}
bool CWaet::IsLocked() const
{
    if (!IsCrypted()) {
        return false;
    }
    LOCK(cs_);
    return vMasterKey.empty();
}
bool CWaet::Lock()
{
    if (!IsCrypted())
        return false;
    {
        LOCK(cs_);
        vMasterKey.clear();
    }
    NotifyStatusChanged(this);
    return true;
}
bool CWaet::Unlock(const CKeyingMaterial& vMasterKeyIn, bool accept_no_keys)