While Singleton is an anti-pattern in general, it can be useful in case of third-party libs like ThreadPoster.
There are two main benefits in adoption of Singleton:
- It will provide the developers who don't use dependency injection and/or don't unit test their code an easier way of using ThreadPoster
- It will ensure that there will be only one instance of BackgroundThreadPoster. This might prevent developer mistakes which could lead to non-optimal performance.
I believe that experienced developers who use DI or unit test will understand that they shouldn't use ThreadPosters as Singletons all over their app, but call the static methods just once in the composition root.