EventBridge deduplication failing for Genesys Cloud routing events

Seeing duplicate events in our EventBridge queue for the same routing:conversation:updated event. The event_id in the payload is identical for both messages. We are using standard .NET consumer logic. The code checks a Redis cache for the event_id before processing. It’s not working. The duplicate still gets processed because the cache check happens after the first message is acknowledged. How do others handle this idempotency issue in their consumers?