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
Level:         Error
Keywords:      Classic
User:          N/A
Description:
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.