Hi guys need some help with SwitchDebounce and StateChangedetection

  boolean SwitchState=digitalRead(Switch);

digitalRead() doesn't return a boolean.

In your code, you are reading the pin state and, if it is not the same as some stored state, recording a time. Then, you determine if the difference between now and that event is greater than some small amount. If it is, and if the transition was to pressed, you toggle the led state variable.

You never clear the transition time, so next time around, the difference will be even greater. So, the pin will toggle again.