It ultimately stems from the fact that in a multi-user machine, memory initially allocated to a new process is zeroed by the OS, lest it contain information from a previous process, possibly run by a different user.