Buenas, a ver, tengo unos problemillas.
Estoy desarrollando una clase en C# que sirve a modo de servidor TCP asíncrono utilizando sockets e hilos.
Tengo en un par de listas los sockets abiertos y los hilos.
Cada vez que se desconecta un cliente su socket se cierra y se elimina de la lista, quedando en el "limbo", con los hilos pasa lo mismo, examino los hilos y elimino los de los clientes fantasma o del cliente recien desconectado. Después mando al recolector de basura que limpie por si las moscas. El caso es que con esta clase TCP he hecho un servidor de prueba que acepta conexiones y demás y lo testeo por telnet (hyperterminal) pero pasa que no hace más que aumentar la memoria cuando se conectan clientes (obvio) pero es que cuando se desconectan si baja son solo 10kb o ni si quiera baja o incluso aumenta 400 kb más la memoria.
No sé porqué, elimino hilos y sockets y finalmente tengo constancia de que existen únicamente activos los sockets e hilos de los clientes conectados en ese momento.
Por eso no sé que puede pasar o como liberar memoria porque es el principal problema que tiene la clase.
Un saludo y gracias