How to auto purge old unapproved comments?
I'm not sure if there is a module which does that. However, you could do that with the help of some custom coding inside hook_cron:

function MODULE_cron() {
  // Find out the comment ids of the comments that are unpublished
  // and are older than 30 days.
  $comments = db_query('SELECT cid FROM {comment} WHERE status = :status AND created &lt; :created', array(':status' =&gt; 1, ':created' =&gt; strtotime('today - 30days')))-&gt;fetchAll();
  $cids = array();
  foreach($comments as $comment) {
    $cids[] = $comment-&gt;cid;
  }
  comment_delete_multiple($cids);
}


You can change the time to fit your requirements. This will ensure that on cron run the comments which are older than 30 days and are still unpublished get deleted.