xTimerStop() doesn't work

As documented including commented example code
vTaskStartScheduler is not like a simple C-library function - it starts the FreeRTOS application !
The comment clearly tells that ONLY IN CASE OF A FATAL PROBLEM (not enough heap memory) vTaskStartScheduler returns and your FreeRTOS application isn’t started at all.
So don’t add code after the vTaskStartScheduler call and simply assume that it’s executed. It’s not ! In the normal case that there is no fatal problem with not enough heap memory.
That should be easy to find out yourself, isn’t it.