É uma limitação de try/catch.
Se você observar cuidadosamente o erro gerado pela execução
BACKUP DATABASE NonExistantDB TO DISK = 'C:\TEMP\NonExistantDB.bak'
você descobrirá que há dois erros que são lançados. A primeira é a msg 911, que afirma
A segunda é a mensagem 3013 que você está exibindo. Basicamente, o SQL está retornando apenas o último erro.