Позволю себе дать немного советов по коду.
Вместо
if (!Directory.Exists(zipFolder)) Directory.CreateDirectory(zipFolder);
if (!Directory.Exists(TaskZipFolder)) Directory.CreateDirectory(TaskZipFolder);
можно было написать просто
Directory.CreateDirectory(TaskZipFolder);
Все нужные проверки уже сделаны внутри.
А ошибка происходит из-за того, что неполные сегменты архива размещаются во временной папке вместо текущей. Если доступ туда закрыт - вот вам и ошибка. Советую найти другую библиотеку для создания архивов, поскольку
внезапная работа с файлами во временной папке - это потенциальная дыра в безопасности. (В частности, временная папка общая для привелегированного и непривелигированного администраторов при включенном UAC)