I have a memory leak, and I guess it's caused by a wrong usage of scoped_lock (Boost). I however don't manage to find the exact problem, and I do believe that the way the code has been written is not completely right neither.
The code is in this class there: http://taf.codeplex.com/SourceControl/changeset/view/31767#511225
The main important method is ThreadedLoop(). Basically, this method is started within a thread, and checks regularly for market data to be downloaded for Yahoo. For each stock (or else), a new thread will be created (for the ExecuteNextRequest() method), passing as a parameter a pointer to string containing the stock name. This is the only memory allocation I do, but it's released at the end of the thread execution.
I would be also interested in how this code could be enhanced (of course I could use a threadpool, but that's not the point yet). Many thanks!