Freezes and crash/reboots are different symptoms of firmware implementation faults. Things don't freeze up for no reason - the problem is when the firmware/software hasn't been written to account for and sensibly deal with every possible error condition.
The execution path might end up in an infinite loop waiting for something which will never happen (all such loops should have a timeout clause), or execution has been made to vector to an illegal place which might be just data or might be other code (potentially out of step with real code, where instructions occupy a variable number of bytes), and the "code" could cause the execution of a stop or some kind of reset. A typical example is if the return stack is popped more times than it is pushed, so the final pop retrieves an invalid execution address and the code bombs off to oblivion.
It is easy to criticise, but fully certified software is exceptionally expensive and reserved for safety critical systems. In the less critical consumer market, it is financially impossible to test every possible execution path under every possible condition to check that all bases have been covered. However, given the experience that Humax ought to be aware of with the HDR-FOX's network stack, you would hope they might have thrown a bit more money at testing that part in future models.