when you do View.GONE the view IS DELETED from the view hierarchy, only the view object is cached only if you hold a reference to the object in your class, if just assign that ref to null, then its effectively deleting the view, but the xml file will stil contain whatever you typed and since you gave this view an ID, there will be an ID reference to it in the R class, but if you were to create the ProgressBar programatically when you need it, then by removing reference to the progress bar you would be effectively deleting it
EDIT
oops View.GONE apparently doesn't remove it from view hierarchy what you can do to remove it is do
((ViewGroup)mProgressBar.getParent()).removeView(mProgressBar)
which would actually remove the view from its parent, make sure the parent is castable to ViewGroup