Make sure to use the Response.Headers inside the async methods. The ResponseHeaders should be used only by the sync code.
Share the same HandleReplicationStatusChanges method between the async and the sync code