validate firmware procedrue

Hi, I'm trying to do DFU in my app, I almost complete it, I met a problem that my app flashed back when I sent 04 to the device.According to the DFU doc,after uploading firmware,and I also got 10-03-01 as response,then,I need to send 04 to validate the firmware.All I know is while sending 04 to the device,the device will disconnect from my phone,I know the the device will reset but why my app crashed too?I used Sniffer to catch BLE ATT pack, I can get 10-04-01 back,but the app crashed all the time. It almost drives me crazy,can anybody tell me why?