conexÃo na j9 cdc

OLÁ PESSOAL BOM DIA…
ESTOU COM UM PEQUENO PROBLEMA, POSSUO UM IPAQ RX1950 (WINDOWS MOBILE) NELE RODA A VM J9 CDC.
FIZ UMA PEQUENA APLICAÇÃO A QUAL SO TEM UMA FUNÇÃO( MostrarMesas() logo abaixo ) DENTRO DE UMA THREAD, esta função acessa um servelt a cada intervalo de 1 segundo, normalmente até aí blz. O PROBLEMA, É Q VENHO NOTANDO Q DEPOIS DE CERCA DE 10 MINUTOS A REDE DO MEU IPAQ CAI, DEPOIS DISSO P/ EU REESTABELECER A REDE DO MEU IPAQ, EU TENHO Q IR LÁ NA CONFIGURAÇÕES DE REDE DO IPAQ DESATIVAR E NOVAMENTE ATIVAR A REDE MANUALMENTE DO IPAQ. O Q ESTA ACOTECENDO GALERA, SERÁ Q TEM ALGUM ERRO NA FUNÇÃO ABAIXO? PARECE Q A CONEXÃO DESTA FUNÇÃO VAI ACUMULANDO LIXO, NAO SEI. OBRIGADO PELA ATENÇÃO E ESPERO RESPOSTA, VALEW…

public static void MostrarMesas(){

    try {  
        //FuncPegandoTempoini();
        String param=null;
        URL url = new URL(Variaveis.url);       
        URLConnection connection = url.openConnection();     
        connection.setDoOutput(true); 
        connection.setUseCaches(false); 
        connection.setDefaultUseCaches(false); 
        OutputStream os = connection.getOutputStream();
        DataOutputStream dos = new DataOutputStream(os);
        dos.writeUTF("3");
        dos.flush();
        dos.close();
        os.close();     
        InputStream is = connection.getInputStream();
        DataInputStream dis = new DataInputStream(is);
        int ch;
        StringBuffer sb = new StringBuffer();
        while ((ch = is.read()) != -1) {
            sb.append((char)ch);
        } 
        
        param=sb.toString();
        
        
        //labelinfo.setText(  String.valueOf( tempofim-tempoini )  );
        is.close();
        dis.close();
        /*url=null;
        dos=null;
        os=null;
        connection=null;
        sb=null;
        is=null;
        dis=null;
        System.gc();*/
   } catch (Exception ex) {
       labelinfo.setText(ex.getMessage()+". Não há conexão");
        ex.printStackTrace();      
    } 
    
    
}