eso es por que el array de byte "dato" esta vacio, osea error no lo tienes en esa funcion "MostrarBytes" , el error lo tienes en lo que esta llamando a esa funcion, osea basicamente estas llamando esa funcion pero con un array vacio.
puedes solucionarlo de dos maneras :
1) ver por que le estas mandando un array vacio , en tu codigo. osea hay en dato recibido, no recibe nada y la variable queda vacia :
2) verifica si el array esta vacio , por ejemplo, Agrega esto a la funcion MostrarBytes:
Código
If (dato == null) { return; }