Great! Thanks for the advice and the blog link.
I was not convinced that what I heard was true, so it is great with a clarification.
This means that every time a program is doing something that could be done concurrently one should always start different threads (unless all threads depends on the same resources e.g. IO).
I think there is too little focus on these things, today I will use background worker 4 times!