In Exchange 2013 you may see the following in the event log if you don't call resume in your asynchronous agent
Log Name: Application
Source: MSExchange Extensibility
Event ID: 1057
Task Category: MExRuntime
Agent 'Smith' went async but did not call Resume on the new thread, while handling event 'OnSubmittedMessage'
It is a best practice to call AsyncAgentContext.Resume() in your worker thread before doing any work to complete the event. This ensures that the thread is properly initialized for asynchronous event handling.