Simplify send/recv loop herding with WaitGroup