MonoMac Console Applications Returns Only First Character of nvarchar(max)
===

I have a console application that I run on Mac OS X through Mono. Although it executes correctly on Windows OS, it only returns the first character of an nvarchar(max) variable. Here is the C# code:

    SqlConnection myConnection = new SqlConnection(Variables.connectionString());
    SqlCommand myCommand = new SqlCommand("IndexPageDetailsGet", myConnection);
    
    myCommand.CommandType = CommandType.StoredProcedure;

    SqlParameter parameterIndexPageID = new SqlParameter("@IndexPageID", SqlDbType.Int);
    parameterIndexPageID.Value = indexPageID;
    myCommand.Parameters.Add(parameterIndexPageID);

    SqlParameter parameterIndexPageText = new SqlParameter("@IndexPageText", SqlDbType.NVarChar, -1);
    parameterIndexPageText.Direction = ParameterDirection.Output;
    myCommand.Parameters.Add(parameterIndexPageText);

    myConnection.Open();
    myCommand.ExecuteNonQuery();
    myConnection.Close();

    return (string)parameterIndexPageText.Value; // Only returns the first character

And here is the Stored Procedure:

    ALTER PROCEDURE [dbo].[IndexPageDetailsGet]
    (
    	@IndexPageID int,
	@IndexPageText nvarchar(max) OUTPUT
    )
    AS SELECT
    	@IndexPageText = IndexPageText
    FROM
    	IndexPages
    WHERE
    	IndexPageID = @IndexPageID

Has anyone else witnessed this behavior and/or know how to work around it?
