Thread Pool exceeding concurrent number of threads


I am using Smart thread pool in my application. my application has three main module, intially creates three seperate thread that use seperate workqueue item.internally these three modules uses three different thread pool. out of these three , one module use another two threadpool . till above level thread pool works fine , at the lowest level where actual processing happen we give what number of concurrent threads , it exceeds that number (e.g. if i have set 5 as concurrent thread, but when i check in parallel stack while executing it show 10 some times 14,15 concurrent threads ).

i am not understanding ,how to control concurrent number of threads at this level as idealy it should not cross that limit.

in parallel stack it is also shown that what ever number of thread pool you used in last they will combined into one master thread pool, may be that is creating problem as if i execute the lowest level alone using thread pool it is not exceeding the concurrent threads number.

Can u please suggest me how can i control this situation... :)