Нашел ответ.
Для параметра OUT я объявил размер max max varchar - 32767, и он начал работать.
Для упрощения хранимый процесс возвращает параметр OUT типа VARCHAR2. Но чтобы использовать этот вывод из .NET я передавал VARCHAR2 без какого-либо размера. Таким образом, буферное пространство, выделенное для получения повторного значения, было 0 байтов. Когда proc возвращает значение больше чем выделенный буфер, который равен 0 байтов, он выдает ошибку.
Итак, я указал максимум VARCHAR2-32767 в коде C #, и он начал работать:).