Is it possible to automatically delete image files that have been uploaded when a node is not saved? I'm using Drupal 7.  On my site, users can add pictures via a content type, Pictures, that makes use of the core image field.

If a user uploads an image file and saves the node, then if the node is deleted the image file will be deleted as well.

However, if a user uploads an image file and then leaves the page, the image file remains stored in the filesystem and is not deleted.  This means that if users are careless, it is possible for them to add lots of pictures that will never be seen and never be deleted, wasting lots of disk space.

Is there any way to automatically delete these "orphan" files?
That would be difficult to accomplish automatically, since as you pointed out, these nodes / profiles are not saved and therefore the data isn't loaded into Drupal 7's file management table. Drupal 7 will automatically delete all files it is tracking in the file management table when the node is deleted. 

Another way to approach this then is to try and detect any files in your target folder (ex. 'files/') that do not have a corresponding data entry in the database and then delete those. Here is a script from Caribbean New Media that does just this task (and even cleans up image styles):


  The script will scan through your chosen directory (and
  subdirectories), for every file found, it will endeavour to
  cross-reference that file within your chosen table.
       If the file doesn't exist in the tables, it will delete the original file and all it's generated image style files you have
  defined.


Definitely should be carefully configured and tested in a safe development environment before moving to your production site, but once running correctly, you can set this up in a cron job to at least have it run every few days / week to clean up orphaned uploads.