Error de SQLite Parámetros insuficientes proporcionados al comando en Mono.Data.Sqlite.SqliteStatement.BindParameter

Tengo una declaración de inserción simple a una tabla en una base de datos SQLite en MonoDroid.

Al insertarse en la base de datos, dice

Error de SQLite Parámetros insuficientes proporcionados al comando en Mono.Data.Sqlite.SqliteStatement.BindParameter

Creo que hay un error, o el mensaje de error es engañoso. Debido a que solo tengo 5 parámetros y estoy proporcionando 5 parámetros, entonces no puedo ver cómo esto es correcto.

Mi código está abajo, y cualquier ayuda sería apreciada grandemente.

try
{
    using (var connection = new SqliteConnection(ConnectionString))
    {
        connection.Open();
        using (var command = connection.CreateCommand())
        {
            command.CommandTimeout = 0;
            command.CommandText = "INSERT INTO [User] (UserPK ,Name ,Password ,Category ,ContactFK) VALUES ( @UserPK , @Name , @Password , @Category , @ContactFK)";
            command.Parameters.Add(new SqliteParameter("@Name", "Has"));
            command.Parameters.Add(new SqliteParameter("@Password", "Has"));
            command.Parameters.Add(new SqliteParameter("@Cateogry", ""));
            command.Parameters.Add(new SqliteParameter("@ContactFK", DBNull.Value));
            command.Parameters.Add(new SqliteParameter("@UserPK", DbType.Guid) {Value = Guid.NewGuid()});
            var result = command.ExecuteNonQuery();
            return = result > 0 ;
        }
    }
}
catch (Exception exception)
{
    LogError(exception);
}

Respuestas a la pregunta(2)

Su respuesta a la pregunta