C'è una cosa importante da far notare: il Socket NON viene chiuso e inoltre la variabile che tiene il riferimento al Socket è a livello di istanza di Conferma. Questo vuol dire che anche dopo la terminazione di doInBackground il Socket resta referenziato e "vivo".
Queste sono questioni di "design" che vanno affrontate meglio.