It's more than a little bit odd to be cleaning up after data members here that this function never references. Why do it here instead of in the MetaRequest destructor (which is cleaning up the other data members)?