C# Screen-Share Project
It depends on what you mean by "better".  I'd use a Thread since the job is constantly running.

A Thread object will be a foreground thread, which will prevent the application from terminating as long as it is running.

Task.Run will queue the job up to run on a thread pool thread.  It may not start running immediately, and it will be a background thread, so it will not prevent the application from terminating if all other foreground threads have terminated.

The number of threads that a thread pool can run is limited, so if your job is always using one of them that increases the possibility that some other task will run late.  Or possibly your job will be delayed while some other task that is part of the thread pool runs.