That's random async. The Access DotNet interop apps I have worked on had those issues, so we added time delays after each API call to provide enough time for the http requests to put/get stuff, and verify completion, or continue looping until verified before moving on to the next step in the flow.