My application allocates a large amount of memory (millions of small objects totaling several gigabytes) and holds onto it for a long time.
Look at the System.Runtime.GCSettings.LatencyMode property.
System.Runtime.GCSettings.LatencyMode
Setting the GCServer property to true in the app.config will also help cut down on GC's (in my case 10 times less GC when enabled).