If you can, best is to always spawn them in a task group (either using anyio or Python 3.11's task groups).
This prevents tasks from being garbage collected, but also prevents situations where components can create tasks that outlive their own lifetime. Plus, it's a saner approach when dealing with exception handling and cancellation.