There are two loops here:
Re-prompt from DialogFlow when user is not entering correct value for slot
eg.Bot: What is color of your car?
User: potato
Bot: What is color of your car?
User: tomato
Bot: What is color of your car?
...Getting fallback intent replies from DialogFlow
eg.Bot: What is your car brand?
User: red
Bot: Sorry, could you rephrase.
User: red red
Bot: I did not understand, could you say it again.
...
How to come out of these scenarios? There is no provision of setting number of re-prompts.
Thanks to @Abhinav, I got one approach of using outputContexts to solve this issue, however I am getting many cases to get this working as described in below pic:

But I am getting confused whether I should increment the counter or decrement it. As output contexts also gets decrement with every call.