Olá, Jorge
Obrigado por compartilhar sua dúvida. O let é um escopo de função que permite executar um bloco de código em um objeto não nulo. No entanto, se você atribuir null diretamente a um objeto e utilizar o let, é esperado que ocorra um erro de referência nula.
Uma possível solução para evitar o erro de referência nula ao usar o let seria verificar se o objeto é nulo antes de chamar o let. Por exemplo:
endereco?.let { // Verifica se o endereco não é nulo
    // Bloco de código a ser executado caso o endereco não seja nulo
}
Dessa forma, o bloco de código dentro do let será executado apenas se o objeto endereco não for nulo.
Espero ter ajudado a esclarecer sua dúvida! Se tiver mais alguma pergunta, fique à vontade para perguntar.
Bons estudos!