Async tasks can sometimes actually be executed synchronously if the code ends up waiting on the results before the task can even get started. Either way, this should be treated as "async" wait time. Be sure not to double count this time. Basically, do your counting at the level that decides whether to execute the work synchronously or not, so you can be sure to track the time properly as SyncWork or AsyncWait.