Fixed goroutine leak in Submit

This is a different way to fix it. Much more straight-forward. Also, using a sync.WaitGroup for having a single wg.Add(1) and single wg.Done() I think a `chan struct{}` with `<-ch` for Wait and `close(ch)` for Done would have been sufficient.