At the moment when a request to relay is made the default context with no timeout is passed which means the request will block until the server replies.
Later on the wait group will block until all the go-routines are done.
If I get it correctly, if we have a faulty relay which doesn't respond quick enough, all the other request still will be waiting.
It would be better if we could set a request timeout for each relay request.