If you still experience OOM issues you will have to go for
Distributed Testing as due to nature of your test the resources of your machine are not enough to conduct the required load. In any case get used to monitor whether your JMeter engine(s) have enough headroom to operate in terms of CPU, RAM, etc. as even if JMeter is not failing with OOM it might operate not efficiently enough due to i.e. swapping or extensive GC and if JMeter cannot fire requests fast enough it might not produce the required load. The health metrics can be monitored using i.e.
JMeter PerfMon Plugin