I have a List of T objects which will need to be processed, and to speed up the processing of this list, they will be farmed out to an asynchronous process. Each object is processed by the same method, so I have a couple questions regarding various asynchronous strategies:
You're free to use whichever tool you want to accomplish the task. They two are not interchangeable, in that they have somewhat different (although overlapping) design goals. Which you prefer is something that we can't answer.
Whether you want all of the workers to execute a method of the same instance of an object or a different instance is entirely dependent on context. Neither is inherently wrong, so long as you understand whether or not the various threads are acting on the same instance or not, and write the code accordingly. Both, in the right circumstances, can be entirely acceptable. It all comes down to whether you want the various threads to share state or not, and whether that given state is specifically designed to be accessed from multiple threads.