Pues tu List<T> debería ser con los datos de la estructura.
De todas formas... ya lo tienes puesto en tu código, solo que con un ArrayList, sería cambiarlo por una Lista Genérica y listo. Asi podrías usar linQ por si quieres hacer consultas sobre los clientes conectados o lo que sea.
Código:
ClientInfo clientInfo = new ClientInfo();
clientInfo.socket = clientSocket;
clientInfo.strHostname = msgReceived.strMessage;
clientInfo.strName = msgReceived.strName;
clientList.Add(clientInfo);