In embedded systems, it is common that you do not leave mean (main() never returns).
As such, the startup code which initializes variables/etc is performed only once, enters main and does not expect to return.
Of course this is implementation defined, and this is the case for code here.
Processor Expert just adds the for(;
at the end to prevent that the function ever returns to the startup code.
If it would, the startup code would not be able to deal with this (unless you change the startup code).
BK