As I'm not too familiar with the LCL, can someone review the code and see if there is a catch or bad practice ?
Don't use the CustomXXX classes directly, they're meant to be extended. That's what THTTPApplication is for if you want something out of the box.
Apart from that, you're creating the thread UNsuspended, meaning it will directly call Execute after creation. Just be aware and ensure route registration is executed before calling FHTTPApp.Run as I don't think you can register routes on the fly, they might be cached.