It is designed to be covered by the resends. When a node stops sending heartbeats it continues to send some EndHeartbeat messages, which will remove it from the failure detector, i.e. isMonitoring=false.
We also send a few HeartbeatRequest in case of message loss.