ADO.NET - The Size property has an invalid size of 0

Parameter Size is required for variable size Output parameters. Generally ADO.NET decides the size of the parameter based on the Value assigned to the parameter (hence it is optional), but in output parameter since no value is Set, you need provide the size required for the parameter

Set the Parameter size to size of the output variable from the DB... Say 50

outParam.Size = 50;

VarChar and NVarChar are variable width character fields (thus var+char). You have to set the length, otherwise the default is zero.