In Event trigger if the message from end point is not received or any error occurred while triggering the event, Then it is triggered after some interval of time, so while creating the Event Trigger to function app you need to set the retry policy to 1 so that only once the event is triggered, this process worked for me, it might work for you too.

Thanks to @Roman Kiss ,After sending a message, Event Grid waits 30 seconds for a response. If the endpoint has not answered after 30 seconds, the message is queued for retry. For event delivery, Event Grid employs an exponential backoff retry mechanism.
So try setting it 1 as above.
References taken from: