Auto-assignment rules are great, but what if you want to convert a lead automatically after the lead has been assigned, and have the new Account, Contact, and Opportunity be owned by the assignee?
Traditionally a trigger will allow this, but triggers work their magic before the assignment rules are applied. This results in a lead that is converted and owned by the correct person, but the account and contact are owned by the user who created the lead. The order of execution causes this, but there is a work-around.
By creating an asynchronous class within salesforce and passing the I.D. of the lead you would like to convert, you allow the assignment rules to run their course before the auto conversion happens, and the lead is converted.