The problem is the long loading of ThemedIcon. Rather, in the long placement of Gtk.Image.from_gicon, if the icon is ThemedIcon. I believe that time is being spent on rendering svg.
I will add that the problem may not be noticeable with a small number of icons. But if you need to display the icons of all applications, then it takes a couple of seconds.
Should application developers handle this, or should I create an issue in gtk? It’s just, if I’m not mistaken, gnome has moved away from PNG icons and I don’t think it will return to them.
You should not “believe”: you should measure it. You can use Sysprof to profile the system and see where time is actually being spent.
GTK can’t do anything about it, because GTK is just uploading the image data into a GPU buffer; outside of that, the image loading and rendering happens in other libraries—namely, gdk-pixbuf and librsvg—but no library can be aware that you’re loading every single application icon.
One option is to load the icons into a GdkTexture by yourself using threads to avoid blocking the main loop; you can then assign a GdkTexture to the GtkImage widget using gtk_image_set_from_paintable().