Selecting the proper sized compute instance depends on a lot of factors - how performant is the code, how many concurrent users are anticipated using that code, how quickly you want the site to respond under load, etc. etc.
Lucee can run just fine under a micro instance, for example, so long as the code is well tuned, there aren’t many concurrent users and you don’t mind it responding slowly under heavy load.
micro can be a good starting point, until you run into issues like you have with outOfMemory errors. This is where FusionReactor can really help by showing usage patterns, slow queries and pages, etc. so you can a) adjust code that is performing poorly and b) determine average load and peak load on the system.
The other alternative is to go up one tier at a time, getting more resources (memory, cpu) as needed through trial and error - not the recommended approach, but if you don’t have/can’t install a trial of/can’t afford a license for FR, it’s the path I’d choose - go up to the next tier where you have more RAM first, since that seems to be where your bottleneck is currently, and give it another go.