More efficient use of async waithandle