I managed to get it working. Upgrade the graphServiceClient to 5.3 and change the custom class NewAssignment to class in graphClient Assignment (notice it is singular)
then you can do the following:
string tenentId = "xxx";
string clientId = "xxx";
string clientScret = "xxx";
ClientSecretCredential clientSecretCredential = new ClientSecretCredential(tenentId, clientId, clientScret);
GraphServiceClient gsClient = new GraphServiceClient(clientSecretCredential);
var plannerTask1 = new PlannerTask();
plannerTask1.PlanId = "XXXXXXXX";
plannerTask1.BucketId = "DDDDDDDDDDDDD";
plannerTask1.Title = plannerTask.Title + "067";
plannerTask1.Assignments = new PlannerAssignments();
plannerTask1.Assignments.AdditionalData = new Dictionary<string, object>();
plannerTask1.Assignments.AdditionalData.Add("xxx", new PlannerAssignment
{
OdataType = "#microsoft.graph.plannerAssignment",
OrderHint = " !",
});
var plannerTaskRes = await gsClient.Planner.Tasks.PostAsync(plannerTask1 );