@RPG Hacker:
Als ich deinen Meckerpost gelesen hab war ich schon voll drauf eingestimmt dir die Ohren langzuziehen ;-)

Der Trick mit dem GarbageCollector in Anwendungen in denen man sich GC-Lags nicht erlauben kann ist einfach: den GC erzwingen.
Ich mache das in meinen Industrieprogrammen hier alle 40 Millisekunden. Ein GC-Aufruf dauert dann eine halbe Millisekunde ( die Software dient dem Zweck Daten aufzunehmen, zu verarbeiten und wegzuschmeissen, es passiert also auch was ).

Irgendwo solltest du eine Art Gameloop haben, pack den GC.Collect(); ans Ende.

Btw. Wenn du JIT-Kompilierung "vorwegnehmen" willst:
http://www.codeproject.com/Articles/...-the-fly-or-tr
Kann auch hilfreich sein wenn man sein Timing besser im Griff haben möchte.