It doesn't sound like this is anything to do with Construct 2. 500mb memory usage is still pretty extreme for mobile devices. You are probably running in to hardware limitations that you will encounter with any engine or framework, even a hand-written native app. I'm not sure where you got the idea that 500mb ought to work, but I'd recommend aiming for <100mb memory usage to be able to run on a wide array of mobile devices, and ideally <200mb to run just on mid- to higher-range mobile devices.
Apart from that I'd recommend not using CocoonJS, since it doesn't have memory management and will try to hold the entire game in memory at once (which will be higher than C2's estimated memory usage, which assumes a browser that does not do that). Both Ejecta and Crosswalk have working memory management.