Based on my understanding of your scenario, Azure Communication Services (ACS) emits the Microsoft.Communication.EmailDeliveryReportReceived event when a delivery report is received for an email sent by the Communication Service. The event is triggered when the delivery report is received, and the Event Grid service sends data about that event to subscribing endpoints. The delay in publishing the email delivery event could be due to the batching behavior of the Event Grid service.
Event Grid operates with all-or-none semantics and doesn't support partial success of a batch delivery. As mentioned in the doc - Subscribers should be careful to only ask for as many events per batch as they can reasonably handle in 30 seconds. The batching policy settings aren't strict bounds on the batching behavior, and are respected on a best-effort basis. At low event rates, you'll often observe the batch size being less than the requested maximum events per batch<sup>.</sup>
Kindly let me know, I'll follow-up with you further.
Reference:
Azure Communication Services - Email events
Event Grid message delivery and retry