Why would my Cron run fail when run by system crontab, but succeed when run manually?
Check to see if you have a php-cli.ini file being loaded. From the command line, do:

$ php -i |grep ini


and see what ini file is being loaded. If there's a cli ini loading, it may not have the same memory limit as your 'normal' php.ini.