From my experience, there was two occasions where apps doesn't keep running(or, in other words, shows splash screen when I launch it again).
First one is that the developer poorly, or even didn't implement suspending for the app. There were some apps that always quits when I press home button, or resets when it was on specific feature. (Although in recent app store I haven't seen one except for some public institution apps that have 1~2 average review)
Second one is hardware limitation - even though the developer properly implemented the suspension feature, iOS sometimes decide to quit it, for various reasons from lack of memory(this is actually major reason that earlier idevices didn't support app suspension on 3G/S era), battery time management.
For first reason, you can write a review on Appstore - it is one of the most impacting reasons for app development progress.
For second reason, well, it is kinda dumb solution but you can purchase a new hardware with more RAM, and it will reduce the possibility of suspended apps halted from iOS(And reduce time for app relaunch). Or, if you're not willing to do so, you can tell iOS to halt some unimportant apps by swiping the app's preview upwards in the multitasking view, possibly reducing the chance of the apps you're actually using getting killed by iOS.