Timing how long garbage collection is taking in C#
For continuous monitoring I agree with Zer0 to look at the % time spent in GC performance counters.

However for a session based analysis a more informative approach would be to collect the ETW traces from .NET. You can see here for the different GC related events, GCStart and GCEnd would most likely be relevant for you.

view the .NET documentation for Garbage Collection ETW Events

You can specify the GC Collect Only option exists which would be very useful here. 


  The GC Collect Only Checkbox - Turns off all providers except those
  that describe garbage collections. Thus even the GC allocation
  sampling is turned off. This mode logs even less data than GC Only,
  and thus can collect data over an every longer period of time (say a
  day) in reasonable size (say 200 meg). The /GCCollectOnly command line
  option achieves the same effect.