They are pushed into a queue from which the worker threads take work to execute. New threads will not be spawned per item, so you can use as many work items as you want. By default the engine creates as many worker threads as there are physical CPU cores.
One thing you want to note is the work item priority. The rendering system uses work items of priority 0xffffffff (maximum) to execute work it needs to complete immediately, but split onto several cores. For example culling. So if you want to make tasks that can take several frames to update, use lower priority.
One more thing, that is easy to trip over: Urho’s shared pointers (or more accurately, the reference counter inside) are not thread-safe, so make sure you’re not manipulating them from the work functions and main thread simultaneously. Copying a shared pointer changes the ref count and counts as manipulation as well.