Debug() visibility depending on following debug(e.g. $this)

The output of debug($this->request->getData()); and
$product_fields = array_intersect_key($this->request->getData(), array_flip($needle)); debug( $product_fields);

is invisible until I add debug($this) AFTER the above. I used debug($this) to have something there I knew for sure it was present. If I put debug($this) in between, only the debugging ouput above debug($this) is shown. Is this normal behavior, and why if so?