Sobre a Common Language Runtime (CLR), pode-se afirmar que:
I. É um ambiente que suporta integração entre linguagens, gerenciamento de memória e exceções, segurança, um modelo simplificado de interação entre componentes, depuração de código e gerenciamento de perfis de execução (profiling).
II. É central na CLR o conceito de metadados (metadata), pois o ambiente de tempo de execução (runtime) utiliza os dados presentes nesta estrutura para localizar e carregar classes, resolver invocação de métodos, gerar código nativo, garantir segurança e gerenciar instâncias na memória.
III. A CLR faz o gerenciamento de memória e referências a objetos, liberando-a quando estes não estiverem mais sendo utilizados; esse mecanismo também é conhecido como Garbage Collection que atua minimizando problemas de memória (tais como memory leaks).
IV. Objetos escritos em diferentes linguagens conseguem comunicar-se entre si ao serem executados na CLR.
Quais estão corretas?