Когда вы говорите "этот компонент все еще работает ...", используете ли вы какой-либо сторонний инструмент для связи с последовательным портом?Потому что, если вы используете System.IO.Ports.Serial, и вы правильно распоряжаетесь им (используя блок 'using'), он должен быть закрыт, безусловно, после завершения вашей программы.