En Android ¿Por qué mi ProgressBar se congela?

Estoy mostrando la barra de progreso al momento de recuperar datos del servidor y después de recuperar los datos del servidor que muestran esos datos en el gráfico, pero al momento de trazar esos datos en el gráfico, mi barra de progreso se congela. ¿Alguien tiene idea de por qué esto es así? ...

Gracias por adelantado..

private ProgressDialog pd;
private Handler handler = new Handler() {
    @Override
    public void handleMessage(Message msg) {        
        Toast.makeText(context, "Please Wait...", Toast.LENGTH_LONG).show();
        Thread t = new Thread(new Runnable() {              
            @Override
            public void run() {
                functionDrawMyData();/*in this function i am accessing activity view and drawing data on that view at time of drawing my Progress bar Freezes */
            }
        });
        runOnUiThread(t);
        pd.dismiss();           
    }
};  

Este controlador que estoy utilizando se llama después de recuperar los datos terminados y al hacer clic en el botón obtengo datos y se muestra la barra de progreso

ImageButton myButton = (ImageButton) findViewById(R.id.myBtn);
pair1ChartButton.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {               
                pd = ProgressDialog.show(v.getContext(),"Please wait...","Retrieving data ...",true,
                        true,
                        new DialogInterface.OnCancelListener(){
                            @Override
                            public void onCancel(DialogInterface dialog) {

                            }
                        });
                Thread t = new Thread(new Runnable() {                      
                    @Override
                    public void run() {
                            getDataFromServer();//calling function to get data from server
                        handler.sendEmptyMessage(0);                    
                    }
                });
                t.start();
        }
    });

Respuestas a la pregunta(8)

Su respuesta a la pregunta