Serial Port ReadLine vs ReadExisting or how to read the data from serial port properly
Depends on what the end-of-line (EOL) character(s) is for your input data. If your data is line oriented then ReadLine is a valid function to use, but you may want to look at the NewLine property and be sure that it is set appropriately for your input data.
For example, if your scale outputs linefeed for EOL then set port.NewLine = "\n";
http://msdn.microsoft.com/en-us/library/system.io.ports.serialport.newline.aspx
I have never had luck with ReadLine working. Just do a Read into a local buffer whenever data is available and then use a separate thread to scan the data and find line breaks yourself.