Use a Queue for @todo and fix thread spawning

Fix thread spawning edge case got from Puma https://github.com/puma/puma/commit/3896e2aa121bfc0ea99951bd984c8acf51f01154