Serial port freezes

Are you using the USB connection for the serial communication? The serial CDC driver uses Bulk transfer which doesn't guarantee a set bandwidth or latency. If you want that you should use a true RS-232 connection or a similar type of connection. You can try connecting the Arduino board to another USB port - one that has fewer devices connected to it. But for any of this to work, you must not fill the buffer on the serial interface faster than it can empty. (115200bps/10cps = 11520Bps for 8N1, note: 1b for the start bit)

Don't use the Serial Monitor for high bandwidth traffic; it cannot handle it. Use PuTTY, Hyperterminal, or some other terminal program.