Just to answer this question
Can somebody explain me why .. Singleton is based on Object Pool.
The singleton pattern provides you the ability to implement an object pool.
The object pool is, in this case, just a practical application of the singleton pattern.
There are, however, also several other applications of the singleton pattern.
Consider for example a cache to be implemented as a singleton.
Therefore the singleton pattern has several applications and the object pool is just one of them.
Hopefully this will clarify the question stated above.