Here is my attempt to combine all of the answers given, and to interpret the SF Documentation provided on email limits. A SINGLE_EMAIL_LIMIT_EXCEEDED exception is thrown when the daily Messaging.SingleEmailMessage limit is exceeded. This exception can be thrown in other cases as well, like when email deliverability is not set correctly. Database.emptyRecycleBin() throws "EXCEEDED_ID_LIMIT: emptyRecycleBin id limit reached: 200" despite documenting it can take up to 10,000 records. Apex, Summer 12. Last updated 2014-12-31 · Reference W-1363132 · Reported By 2 users Fixed - Winter '13. SummaryMar 08, 2018 · You can use this ID to identify your job and monitor its progress, either through the Salesforce user interface in the Apex Jobs page or programmatically by querying your record from AsyncApexJob Using non-primitive types : Your queueable class can contain member variables of non-primitive data types, such as sObjects or custom Apex types.