[Sony Xperia S, Acro S, Ion] hmzuleta:
I've set the background process limit to "at most 4 processes". Have a feeling this will help. I'll keep you posted. <---- This obviously did not work

EDIT: there is an IllegalArgumentException every time one of those FC appear. I'll attach the logcat ASAP. Doesn't seem to be a memory issue.

Here's the logcat: https://www.dropbox.com/s/iofdzg4qxe3oha9/2014-06-25-08-22-04.txt

I'll change my runtime to ART and see if that helps.

The situation is easily recreatable: start opening a lot of processes until it can't handle them anymore. Even the launcher will crash. The only thing that fixes it is a reboot. This is on a clean flash.

For instance, my Chrome process crashed here:

06-25 08:11:34.399 I/WindowState(624): WIN DEATH: Window{422a23f0 u0 com.android.settings/com.android.settings.Settings}
I/WindowState(624): WIN DEATH: Window{42383d60 u0 com.android.settings/com.android.settings.SubSettings}
E/AndroidRuntime(17047): FATAL EXCEPTION: main
E/AndroidRuntime(17047): Process: com.android.chrome, PID: 17047
E/AndroidRuntime(17047): java.lang.IllegalArgumentException: eglChooseConfig failed EGL_NOT_INITIALIZED
E/AndroidRuntime(17047):	at android.view.HardwareRenderer$GlRenderer.chooseEglConfig(HardwareRenderer.java:1175)
E/AndroidRuntime(17047):	at android.view.HardwareRenderer$GlRenderer.loadEglConfig(HardwareRenderer.java:1137)
E/AndroidRuntime(17047):	at android.view.HardwareRenderer$GlRenderer.initializeEgl(HardwareRenderer.java:1119)
E/AndroidRuntime(17047):	at android.view.HardwareRenderer$GlRenderer.initialize(HardwareRenderer.java:1059)
E/AndroidRuntime(17047):	at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1546)
E/AndroidRuntime(17047):	at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:996)
E/AndroidRuntime(17047):	at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5600)
E/AndroidRuntime(17047):	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761)
E/AndroidRuntime(17047):	at android.view.Choreographer.doCallbacks(Choreographer.java:574)
E/AndroidRuntime(17047):	at android.view.Choreographer.doFrame(Choreographer.java:544)
E/AndroidRuntime(17047):	at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:747)
E/AndroidRuntime(17047):	at android.os.Handler.handleCallback(Handler.java:733)
E/AndroidRuntime(17047):	at android.os.Handler.dispatchMessage(Handler.java:95)
E/AndroidRuntime(17047):	at android.os.Looper.loop(Looper.java:136)
E/AndroidRuntime(17047):	at android.app.ActivityThread.main(ActivityThread.java:5137)
E/AndroidRuntime(17047):	at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(17047):	at java.lang.reflect.Method.invoke(Method.java:515)
E/AndroidRuntime(17047):	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795)
E/AndroidRuntime(17047):	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:611)
E/AndroidRuntime(17047):	at dalvik.system.NativeStart.main(Native Method)
W/ActivityManager(624): Force finishing activity com.android.chrome/com.google.android.apps.chrome.Main

Doing some quick research on StackOverflow, the actual solution is to restart the VM. LOL.

EDIT 2: Enabling ART seems to fix this. I've stressed my phone with over 10 open apps simultaneously, and the problem doesn't seem to appear. I'll keep testing and I'll tell you guys if the solution is long-term, not just luck ;)

Yeah, I've tried ART extensively for over an hour and it seems to have fixed the FCs.

On another note, if you move apps from Phone to USB Storage using the Apps Manager, it breaks them. Using TB seems to work just fine, though.