title: Celery Worker exited prematurely: signal 9 (SIGKILL) on serializer.is_valid()
body: <p>I know that there are some questions already about this topic, so I understand the general idea, but this is more specific.
  In some job that runs on our celery worker, we're creating a lot of objects (about 2000). 
  Seems like every time, at some point, around the 2000th object (1700-1900) we get this error:
  <code>Worker exited prematurely: signal 9 (SIGKILL)</code>
  And it always seems to happen around this part of the code:</p>
  
  <pre><code>serializer = ModelSerializer(data=model_data)
  Logger.info("serializer created")
  if serializer.is_valid() is True:
      Logger.info("serializer valid")
  </code></pre>
  
  <p>I do see the first log, so I guess the serializer is created successfully, but I don't see the second log. And it's not that the serializer is not valid, because that case is covered as well. I just stop seeing any logs from the job after that line of code (<code>if serializer.is_valid()</code>). 
  When trying to create less objects it seems fine.
  So my question is why would using a lot of serializer.is_valid() in one celery job cause that process killing?</p>
  
  <p>Exact errors:</p>
  
  <pre><code>Process 'ForkPoolWorker-3' pid:890 exited with 'signal 9 (SIGKILL)' 
  
  Task handler raised error: WorkerLostError('Worker exited prematurely: signal 9 (SIGKILL).',)   
  
  billiard.exceptions.WorkerLostError: Worker exited prematurely: signal 9 (SIGKILL).
  </code></pre>