So from a developers perspective this looks like a very poorly optimized kernel for me Linus. I don't think this has to be done something with the userspace of the phone itself (tho the commands top and htop will help u to find out if in wrong) but probably with samsungs custom implementation of the android stuff in the kernel. I'm working on the galaxy s3 neo kernel for about 4 years now, and they did a lot of crappy stuff on that. The memory management is awful with zram zcache and swap. The device has 1.5 GB ram of which 0.7 are available at runtime but without the custom roms I developed for it on bare stock u can really see it struggle in daily life usage as Samsung is always giving the ram to the zcache and swap partitions. In addition they have some sort of cleaning algorithm which tries to drop unused memory but consumes more power then it saves, on Qualcomm variants there's also M(ake)P(oor)Decision which is a hotplug for the CPU but often freezes or nearly stress-tested the whole phone as it couldn't handle the workloads correctly resulting in an ususuable state. My S8 also is still experiencing those stuff I'm describing too. What u could try to save this problem is either resetting the device to stock with a computer via ODIN or installing a custom kernel (would void warranty as it removes Knox secure boot etc...). I don't know why Samsung wants to do that, butnit seems like those problems are occurring on all the phones I had from them after a specific period of time. Maybe (but that's just theory) they did something like apple did with slowing down the phones but with a different approach - killing the battery. Other option, u enabled a loop like battery killer app combo. Two apps basically being in a race condition to get permissions, do read write operations (especially when ur dealing with mutex - locked files by process, files) or just the simple google audio recognition. Anyways this is still something Samsung needs to fix urgently but they seem to refuse any support and/or statement for this.