Ok. Here's the deal. I applied the fix to the Wheel source code, but the impact is minimal. The real killer for me is the AabbTree: if I don't use it, I get zero GCs, and if I use it, I get one 15ms GC every 5-6 seconds, and occasional 30ms ones. Not really noticeable most of the time, but still there.
Problem is, I must use the AabbTree. Performance drops to the floor without it. It is being used to partition a CompositeShape made of hundreds of boxes (I think I discussed that in another thread).
So my options at this point would be:
A) Try the other classes in the Partitioning namespace. Does any of them not generate garbage and is suitable for this case?
B) Write my own ISpatialPartition. Perhaps a simple grid would do, although there are quite a few members to implement.
C) Use a fixed version of AabbTree or similar that you may kindly provide ;) in source code form.
D) Live with it. My game is just days away from submission and I'm very wary of any major changes.
Suggestions welcome :)