C# and Arduino problem with serial port
Since you are sending from the Arduino the received serial data back to the C# application (Serial.print(message);), I would advise to check what you receive on the C# side.
Register to the DataReceived event of the SerialPort as so:

serialPort1.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);


And add an event handler:

private void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
{
    SerialPort port = (SerialPort)sender;
    string data= port.ReadExisting();
    // check here what data you received, if any
}


This way you could confirm that the Arduino gets the data properly from the C# side to begin with. Next step would be to understand if this if statement treats the data properly:

if (message == '5')


But starting from examination of what you get from the C# side will help you decide where exactly is the problem.