You commented out the line -
# HumanMessage(content="{question}")
So, I guess the current user message never gets included in the prompt on the same turn. That's why the chain is responding to the old message.