hmm yes. you are correct the block would have been cleared by remove_backoff_block. (which beg's the question why it's updated here as well).

the interval will remain in backoff_timer even after out of backoff block (it always returns the duration at the current backoff level). So the condition i talked about remains (from current code).

handle_message will get the 1 message. it will skip RDY since backoff_interval > 0.
message handling will FIN, clearing the timer w/ .success().
This check will skip since backoff_interval is now 0, and no other RDY will be set.