I don´t really know what makes the issue, I´m just telling you what works for me on mobile. This might be close to what you are doing. I´m currently playing around with array procedural cave generation, testing how it behaves on mobile. As I said, I use a "spawn room" to load the assets in steps, so it does not collapse. (sorry for the placeholder art hehe)
Then I create a grid of walls (very similar to pieces in a match game), which gets carved and set with enemies, items etc
You could do the same with a simple line of code and a simple "spawner" sprite like
spawn "tile" on "spawner", move spawner right tile.width pixels. If spawner is in border move downwards tile.width pixels and move to the initial X position. Repeat grid.width*grid.height/tile.width times only every 0.1 seconds, so it does not collapse.
This way, you could leave the layout empty and let the code do the work slowly, so the device can take it.
Without a .capx this is all pure speculation, I don´t know in what situation your game is.
Hope this helps