Hard real-time garbage collection in modern object oriented programming languages