We need to make sure that when Shutdown() returns, routes go routines that try to connect or reconnect have returned. Otherwise, this may affect tests running one after the other (a server from one test may connect to a server in the next test).