A runnable isn't a background thread, it is a unit of work that can be run in a given thread.
Handler doesn't create a new thread, it binds to the looper of the thread that is it created in (the main thread in this case), or to a looper you give it during construction.
Therefore, you're not running anything in a background thread, you are just queuing a message on the handler to run at a later point in time, on the main thread