<p>when they say the action controller in the struts framework is multi threaded, does it mean that there are multiple instances of the servlet taking the request and forwarding it to the model. OR does it mean that there is one single instance taking all the requests? Any visuals will be appreciated</p>

Some profiler like profiler4j can show the managed and the unmanaged memory (live curve). Then you can see if you has a leak and when the leak occur. But you does not find more informations.
After this there are 2 possible solutions:
You can with the live curve isolate the problem and create a simpler test until you have find the cause of the problem.
You search your code for the typical problems like:
Instances of the class Thread that are never start.
Images or Graphics that never are dispose
ODBC Bridge Objects that are never close