Optionally running some code on a background thread
Maybe.

Depends, as always, what happens if you get multiple threads running.

So you start this thread going, your code will move on, and if you start this again, and it hasn't finished the previous round of sending emails.   What happens?

If its all thread safe, then no problem,   but it might send some emails out of order.
If its not thread safe, then hilarity ( or calamity ) ensues :-)