Do I need a service bus for simple asynchronous command handling?
===

My system uses The Command Pattern with separate handlers.  My commands are executed on a CommandService which currently handles all commands in-process.

I have certain commands which do at least 1 of these things that are slow operations:

 1. Sends an email
 2. Generates a PDF
 3. Sends a Fax
 4. Interacts with 3rd party web services

I want all of these commands to be handled out of process so that the UI is more snappy.  

Should I use a messaging bus just for these commands, or should I have the in-process command handler call BeginInvoke()?