Use heuristics based on prediction whether certain methods are worth inlining since it provides more optimization opportunities, instead of current brute-force greedy approach.
Don't inline all methods in one pass. Instead, take unoptimized method, inline everything that's possible and then apply optimizations. This should save memory.