ループの中でawaitしてるんはどうなん?
後ろのほうのタスクがさっさとfalse返してても無駄に待たんの?