All "crash"es are not created equal.
Specifically, an uncaught exception in JavaScript code that is triggered during ordinary event loop processing (which, in practice, is just about everything in your app code) can short-circuit the rendering of the UI. This is IMHO far and away the most common cause of “white screen of death”.
This is different from a “crash” as seen by the underlying OS. The OS doesn’t know or care that your JavaScript house of cards has come tumbling down. This would be consistent with what you are seeing in terms of background uploading continuing to happen.
I would suggest carefully auditing all asynchronous code in your app, to make certain that you are not inadvertently relying on order of execution, as that often changes in the field.