Actually, you may be running out of video memory...
Video cards don't have an infinite amount of RAM and the amount of RAM taken up by things can be a lot more than you might expect. If all of your graphics there are sized at 3840x2160 then to load all 27 of them into video memory at once would require just over 854 MB of video RAM, provided your video card can handle non-power-of-2 texture sizes, plus Allegro 5 defaults to storing copies of bitmaps into system RAM to refresh the video RAM following a task switch, so that's 854 MB of system RAM you'll need as well. If you have an older video card or an internal video chipset which is going to share video memory with system memory, you're likely exceeding your system's limits.
If your video card does NOT support non-power-of-2 textures, then the smallest texture size those could be stored in would be 4096x4096, 27 of which would require 1,728 MB of video RAM.
I know, the file sizes on disk are much smaller, but that's because image files compress their contents in some way. Once loaded into video memory, in order to be usable, they're stored UNCOMPRESSED. (DirectX does have a means for doing compression on the fly, but because it's platform-specific it's not directly supported by Allegro, at least as far as I'm aware.)
So, instead, you need to consider alternate means of doing what you're doing, especially if you're going to support 4K.
First of all, you can't be using full screens of graphics the way you're doing; It's completely impractical. Instead, you need to draw the individual pieces of what you have at proper screen coordinates. For instance, the tabs which show up by your menu selections, you only need one little tab stored in memory, which you can then draw twice when a menu item is selected, once normally on one side, again rotated 180 degrees on the other side. You're probably also going to want to directly use the font you're using with Allegro's font-loading and rendering capabilities. The logo for the game could be put onto its own texture. Even that huge coloured background you have can be optimized by making it white and slicing off the edges as their own individual pieces and then just drawing a filled rectangle inside the rest. You can then use blending functions to colour it.
If you want to keep doing things the way you're doing you're absolutely going to have to remove 4K support and halve the resolution of all of your assets because it's simply a massive memory hog.
Lastly, the points I made about the framerate were for future reference. I know you're not suffering a framerate issue, but switching which ALLEGRO_BITMAP object you're drawing from more than a handful of times per frame WILL kill the framerate in the long run.
I know it may not seem like it but EVERY person who's ever made a hardware-accelerated 2D game using a standard programming language has to deal with all of this, and then some. There'll be even more optimization issues you'll run into and hardware configurations to consider down the road.