Encontré la respuesta.
Para el parámetro OUT, declaré el tamaño máximo de varchar - 32767 y comenzó a funcionar.
Para simplificar, el proceso almacenado devuelve un parámetro OUT de tipo VARCHAR2. Pero para consumir esa salida de .NET, estaba pasando VARCHAR2 sin ningún tamaño. Entonces, el espacio de búfer asignado para recibir el valor de retorno fue de 0 bytes. Cuando el proceso devuelve el valor más que el búfer asignado, que es 0 bytes, se produce un error.
Así que especifiqué el máximo de VARCHAR2-32767 en el código C# y comenzó a funcionar :).