Es una limitación de probar/atrapar.
Si te fijas bien en el error generado al ejecutar
BACKUP DATABASE NonExistantDB TO DISK = 'C:\TEMP\NonExistantDB.bak'
encontrará que hay dos errores que se arrojan. El primero es msg 911, que dice
El segundo es el mensaje 3013 que está mostrando. Básicamente, SQL solo devuelve el último error.