Rewind event sometimes rewinds too far with active form

I am using the appends event to tracker endpoint to remove the previous message sent. The body of the call is

[
    {
        "event": "rewind"
    },
    {
        "event": "action",
        "name": "action_listen"
    }
    
]

This works most of the time, however, there is a weird case I have encountered:

  1. hello message is sent to the bot
  2. bot enters into a form (active loop)
  3. bot utters greeting message and user affirms
  4. bot asks a question about user age, the user responds
  5. I call the endpoint to update the tracker with the rewind event
  6. The weird behavior: the bot rewinds two messages, so the last message sent in the tracker is the greeting message instead of the user age message.

However, if I proceed with the conversation and try to rewind later in the form, it will work properly and only go back one message.

Does anyone have any insight to this?