Application stops after reset
When you say “I see all the memory bits intact” do you mean the program is in flash, or all the memory reads back as blank / FF’s?
If the later, you are probably writing to and attempting to boot from internal ram.
If the program is in flash and verifies properly,then there may be an issue with your RCC configuration - the boot loader programming via UART sets the clock to be internal osc, your app may not be configuring RCC properly.