First, the graphic does not help at all. Second, the GC log you posted isn't that helpful either (the first part of the file is filled with nulls...). Which logging options did you use? Only the -XX:+PrintGCDetails option gives information about the CMS collector. Though if the issue is that you aren't seeing much tenuring of object, then options such as -XX:+PrintHeapAtGC and -XX:+PrintTenuringDistribution might be helpful.
Third, I would avoid the -XX:+AggressiveOpts option, it resets numerous options (possibly overriding things you alreayd set) an is geared more towards performance benchmarks (such a SpecJBB) than towards typical workloads.
Fourth, when you set the CMG collector (-XX:+UseConcMarkSweepGC) it resets numerous options, so you setting for (-XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=90 -XX:MaxTenuringThreshold=31) are probably all being reset.
Fifth, I would remove these options: (-XX:+CMSIncrementalMode -XX:+CMSIncrementalPacing -XX:CMSIncrementalDutyCycleMin=0
-XX:CMSIncrementalDutyCycle=10). I'm not sure what they do (they are not listed on the JVM options web page and I don't have the time to look them up in the source), but the fact that you don't seem to be getting much tenuring of objects is somewhat suspect.
To understand a little more about the CMS collector, see my "201" white paper at:
http://www.cmg.org/cgi-bin/search.cgi?q=Peter+Johnson&x=0&y=0