I spent many hours on it, finally found the root cause myself,
OracleCommand oracleCommand = command as OracleCommand;
oracleCommand.ArrayBindCount = some_collection_object.Count;
Since I had enabled the array binding to the input parameters, the output ref_cursor also had become array type which caused this problem.