"It is my understanding that the function mysql_free_result() just unsets() the reference to the result object. "
it does a bit more, it actually frees all memory that was used to contain the resultset and everything associated with it.
Never ever depend on PHP to 'clean up' for you. PHP cleans up when the script exits because so many programmers forget to clean up themselves. It's not a feature, it's a failsafe.