To be able to conserve battery apps works differently than programs, apps can be suspended. That is usually the problem with normal programs, they are not developed with battery conservation in mind.
I wonder how Librem have solved this, perhaps in their scheduler, or intends to solve this in the future.
https://developer.puri.sm/Librem5/Apps/Guides/Design/Constra...
As for apps being suspended, most apps are suspended when there's nothing to do. If a graphical application is minimised so it doesn't have to redraw the screen then it should either be doing nothing or occasionally polling a server if that's it's design.
Web browsers are an interesting corner case as web sites often have JavaScript that wants to run all the time and there's some trade-off between doing what the web site wants and saving CPU/energy. But that's probably not going to be an OS issue for PureOS but an Epiphany browser issue.
https://developer.apple.com/documentation/uikit/app_and_envi...
https://developer.android.com/guide/components/activities/ac...
I'm not an app expert nor an expert on GNOME development either, but I got a bit sceptical when I read their app example code, python with GNOME, neither is famous for being snappy.
For the moment the Librem 5 seems to be using apps designed to work on PC desktops but at lower resolutions.