There isn't inherently anything wrong with this. This is designed to handle background processing and it can be called recursively like this. If it doesn't stop, then you may want to check the xf_deferred table to see what jobs are in there (other than cron). It's possible it could be a job with a bug in it.