Finally found the source of the massive GC loop. The mesh class prints out a huge list of the vertices/normals/texture coordinates. In order to get that list in a comma separated form, it did a bunch of string operations without using a StringBuilder. So essentially the app was being really slow simply because I had used an inefficient debug method.