I've heard that there is a number of threads in an application which used be used to get the best performances. I've heard that when the number of thread are increased, the performances will increase until one point and after that it will start to decrease. And for android application that limit is like 3 or 4.
Can someone explain this inside out ?
Currently I'm working on a C# standalone application and in there I've used about 50 background workers. How this affect to the performances of the system ?
There is no single answer to this. It depends on what your app is doing, and what the bottlenecks are. If your app is doing lots of CPU work and is pegging the device, then "the number of cores" is your limiting factor (going beyond this will simply increase switching); if it is mostly waiting on disk / network, then 1 might be more than enough.
Adding threads is not a magic bullet - and can be positive or negative.