realize that a call to System.gc() doesn't guarantee anything. It simply requests that the Garbage Collector do its thing. I've used JProbe when dealing with memory leaks, it might help you to identify where your problem is coming from.
do anyone knows what System.gc() doing?.why sun is hiding it's original purpose. sun says that 'gc() only force the garbage collector to run'.how it's forcing?.a lot can be done if sun specifies what gc() actually doing. how much cuncurrent threads can "EFFECTIVELY"(not theoratically) handle a java program(load)?.