DocumentMk's lease mechanism is built on the assumption that the lease is periodically updated by each instance. If the update doesn't happen within a certain time - and the instance hasn't crashed - there's the risk of the own lease to fail. It is therefore important that the lease update happens without (large) delay according to the configured period.
One pattern where this doesn't happen is when the VM is under heavy load due to JVM-Full-GC cycles. It seems likely that a memory problem doesn't normally happen instantly, but slowly builds up. Based on this assumption we could introduce a check that compares the actual time since last lease update with the desired period. If these two diverge a lot then we can at least issue a log.warn. This might help to easier identify this type of lease failures and perhaps find root causes earlier/easier.