Trata-se de uma questão sobre padrões de projetos.
O comando da questão pergunta qual padrão de projeto seria adequado para a situação onde o custo de criação de quaisquer objetos é muito alto, e que ele só deva ser instanciado no momento que ele é realmente necessário.
Vamos analisar as alternativas.
A) Errado. O facade é o design pattern utilizado para ocultar toda a complexidade de algo através de uma fachada (facade).
B) Errado. Mock objects são objetos que simulam um objeto real. Isso pode ser utilizado quando você, por exemplo, não implementou uma funcionalidade complexa, mas quer testar um objeto que faz chamadas a ela, ai você pode criar um mock para fazer o papel da classe ainda não implementada.
C) Errado. Singleton é um padrão de projeto que cria um objeto que só deve ser instanciado uma e apenas uma vez.
D) Correto. Lazy loading é o pattern responsável justamente por adiar a inicialização de um objeto até quando ele realmente é necessário.
E) Errado. Method Chaining é o pattern utilizado para chamar diferentes métodos numa mesma linha.
Gabarito do Professor: Letra D.