For already protected sheet no need to give sheet as unprotected. so Leave the sheet as it as protected and make newly created cells as locked . Then it'll work. It doesn't follow as we do manually in the excel sheet.
Remove the following code. Then it'll work.
if (workSheet.Protection.IsProtected)
workSheet.Protection.IsProtected = false;
I've checked. Please try this.