GC, almost any GC, is a no-go for hard real-time systems where memory total memory usage AND performance must be known. When you are in situations where you absolutely MUST process X messages in Y timeframe, even something simple like calling malloc() is no-go because the runtime isn't known.