string inpSerial = serialPort1.ReadExisting();
label1.Text = inpSerial;
int numm = int.Parse(inpSerial);
progressBar1.Value = numm;
serialPort1.ReadLine();, а не через serialPort1.ReadExisting();, то ошибка не проявляется, но такой вариант меня не устраивает так как падает производительность. inpSerial при возникновении ошибки? Явно не число.bool successfullyParsed = int.TryParse(inpSerial, out num);
if (successfullyParsed){
// ...
}