This all depends on how you're using your progress dialog. If you only need it in one scope, then making it a pointer is pointless. But if you do make it a pointer, you can set the Qt::WA_DeleteOnClose flag so it will be deleted automatically when it is closed.
QProgressDialog *dialog = new QProgressDialog;
dialog->setAttribute(Qt::WA_DeleteOnClose);