Meteor - FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory

I just got this issue in my development application based on (Angularjs 1 + Meteor 1.8):

=> Started proxy.                             
[BABEL] Note: The code generator has deoptimised the styling of "/server/classes/serverhelperclass.js" as it exceeds the max of "100KB".
=> Started MongoDB.                           
=> Started your app.

=> App running at: http://localhost:3000

I20181226-11:32:25.820(1)? <--- Last few GCs --->
I20181226-11:32:25.821(1)?
I20181226-11:32:25.821(1)? [28272:0x4b30aa0] 149094585 ms: Mark-sweep 217.1 (238.3) -> 216.9 (238.3) MB, 407.7 / 0.7 ms  allocation failure GC in old space requested
I20181226-11:32:25.821(1)? [28272:0x4b30aa0] 149094992 ms: Mark-sweep 216.9 (238.3) -> 216.9 (238.3) MB, 406.7 / 0.7 ms  last resort GC in old space requested
I20181226-11:32:25.822(1)? [28272:0x4b30aa0] 149095399 ms: Mark-sweep 216.9 (238.3) -> 216.9 (238.3) MB, 407.4 / 0.6 ms  last resort GC in old space requested
I20181226-11:32:25.828(1)?
I20181226-11:32:25.829(1)?
I20181226-11:32:25.829(1)? <--- JS stacktrace --->
I20181226-11:32:25.829(1)?
W20181226-11:32:25.830(1)? (STDERR) FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
W20181226-11:32:25.854(1)? (STDERR)  1: node::Abort() [/home/myusers/.meteor/packages/meteor-tool/.1.8.0_1.12cbugr++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/dev_bundle/bin/node]
W20181226-11:32:25.855(1)? (STDERR)  2: 0x8c21ec [/home/myusers/.meteor/packages/meteor-tool/.1.8.0_1.12cbugr++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/dev_bundle/bin/node]
W20181226-11:32:25.857(1)? (STDERR)  3: v8::Utils::ReportOOMFailure(char const*, bool) [/home/myusers/.meteor/packages/meteor-tool/.1.8.0_1.12cbugr++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/dev_bundle/bin/node]
W20181226-11:32:25.858(1)? (STDERR)  4: v8::internal::V8::FatalProcessOutOfMemory(char const*, bool) [/home/myusers/.meteor/packages/meteor-tool/.1.8.0_1.12cbugr++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/dev_bundle/bin/node]
W20181226-11:32:25.860(1)? (STDERR)  5: v8::internal::Handle<v8::internal::JSFunction> v8::internal::Factory::New<v8::internal::JSFunction>(v8::internal::Handle<v8::internal::Map>, v8::internal::AllocationSpace) [/home/myusers/.meteor/packages/meteor-tool/.1.8.0_1.12cbugr++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/dev_bundle/bin/node]
W20181226-11:32:25.862(1)? (STDERR)  6: v8::internal::Factory::NewFunction(v8::internal::Handle<v8::internal::Map>, v8::internal::Handle<v8::internal::SharedFunctionInfo>, v8::internal::Handle<v8::internal::Object>, v8::internal::PretenureFlag) [/home/myusers/.meteor/packages/meteor-tool/.1.8.0_1.12cbugr++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/dev_bundle/bin/node]
W20181226-11:32:25.863(1)? (STDERR)  7: v8::internal::Factory::NewFunctionFromSharedFunctionInfo(v8::internal::Handle<v8::internal::SharedFunctionInfo>, v8::internal::Handle<v8::internal::Context>, v8::internal::PretenureFlag) [/home/myusers/.meteor/packages/meteor-tool/.1.8.0_1.12cbugr++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/dev_bundle/bin/node]
W20181226-11:32:25.865(1)? (STDERR)  8: v8::UnboundScript::BindToCurrentContext() [/home/myusers/.meteor/packages/meteor-tool/.1.8.0_1.12cbugr++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/dev_bundle/bin/node]
W20181226-11:32:25.866(1)? (STDERR)  9: v8::ScriptCompiler::Compile(v8::Local<v8::Context>, v8::ScriptCompiler::Source*, v8::ScriptCompiler::CompileOptions) [/home/myusers/.meteor/packages/meteor-tool/.1.8.0_1.12cbugr++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/dev_bundle/bin/node]
W20181226-11:32:25.867(1)? (STDERR) 10: v8::Script::Compile(v8::Local<v8::String>, v8::ScriptOrigin*) [/home/myusers/.meteor/packages/meteor-tool/.1.8.0_1.12cbugr++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/dev_bundle/bin/node]
W20181226-11:32:25.868(1)? (STDERR) 11: Fiber::RunFiber(void**) [/home/myusers/.meteor/packages/meteor-tool/.1.8.0_1.12cbugr++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/dev_bundle/server-lib/node_modules/fibers/bin/linux-x64-57/fibers.node]
W20181226-11:32:25.868(1)? (STDERR) 12: Coroutine::trampoline(void*) [/home/myusers/.meteor/packages/meteor-tool/.1.8.0_1.12cbugr++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/dev_bundle/server-lib/node_modules/fibers/bin/linux-x64-57/fibers.node]
W20181226-11:32:25.869(1)? (STDERR) 13: 0x72368c7fbfb7 [/home/myusers/.meteor/packages/meteor-tool/.1.8.0_1.12cbugr++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/dev_bundle/server-lib/node_modules/fibers/bin/linux-x64-57/fibers.node]
=> Exited from signal: SIGABRT
=> Meteor server restarted

Do you have any long running processes?

I have cron jobs and push notifications for ios and android.

CronJobs are a but complex like, I have code like this:

Meteor.settimeout(
      // logic that decide the cron schedule or delay time of next nested cron
      Meteor.settimeout(
                  // logic that decide the cron schedule or delay time of next nested cron
                  Meteor.settimeout(

It goes on to certain levels.

And for push notification I have like 40k device ids, to which I send push notification for both android and ios

I think the problem lies somewhere in the sending of the notifications. Are you loading all of the devices into memory?

Yes I am loading all the devices from 1 single query and pushing at same time, because I need to inform all the users at the same time