Hittade svaret.
För parametern OUT deklarerade jag storleken till max för varchar - 32767 och det började fungera.
För att förenkla returnerar den lagrade procen en parameter OUT av typen VARCHAR2. Men för att konsumera utdata från .NET passerade jag VARCHAR2 utan någon storlek. Så buffertutrymmet som tilldelats för att ta emot returvärdet var 0 byte. När proc returnerar värdet mer än tilldelad buffert, som är 0 byte, blir det fel.
Så jag angav maxvärdet för VARCHAR2-32767 i C#-koden och det började fungera :).