Are all threads suspended?
... and how long does a complete collection take?
Yes. all managed threads are suspended except for the thread that caused the garbage collection
http://msdn.microsoft.com/en-us/library/ee787088.aspx