added GC.Collect because of too many GREFs and null pointer exceptions