massive slowdown from FindNewContacts when I move kinematic object

This is crazy, I’ve spent weeks on this but am not getting anywhere. I have enemy’s that come in waves. They are kinematic. I have 6 enemy’s in total and they come in waves of 3 at a time and are reused. For some strange reason with each subsequent wave the game slows down like crazy till it eventually freezes. In the profiler I can see that FindNewContacts is causing the problem. But the enemy’s aren’t even colliding with anything! It just doesn’t make any sense. The only thing they are touching are each other but since they are kinematic that shouldn’t register. Help!
Maybe worth mentioning that I originally moved them with Transform and it worked much better. But seeing as I want them to collide with the player I need to move them by rigidbody.
Here is the script I’m using to move them (including the old line with transform). The script is attached to the big boss so Transform.postion is referring to the big boss:

   IEnumerator MoveObjectMini1( float time)
     {
         float min = -4;
         float max = 4;
                         Vector3 spawnYPostion = new Vector2(-13, Random.Range(min, max));
         var i= 0.0f;
         var rate= 1.0f/time;

         yield return new WaitForFixedUpdate();
         mini1rb2d.isKinematic = true;
         while (i < 1.0f) 
         {
           while (GameControll.instance.mini1Dead == true)
         {
         yield break; 
         }
             i += Time.deltaTime * rate;            

          //   Mini1.transform.position = Vector3.Lerp(transform.position, spawnYPostion, i);
              mini1rb2d.MovePosition(Vector3.Lerp(transform.position, spawnYPostion, i));
              yield return new WaitForFixedUpdate();
        
         //    yield return null; 
         }
     }

I have another 5 of these codes, one for each mini enemy and all are placed in big boss script.

I also have one of these attached to each enemy:

 void OnCollisionEnter2D (Collision2D collision)
   {
      if (collision.gameObject.CompareTag("Player"))
   {   
     GameControll.instance.mini1Dead = true;  
     rb2d.isKinematic = false; 
   }
   }

These are my settings:
alt text

Thanks!

Found the problem. I had several kinematic objects flying around that are triggers and they were registering contacts with the enemy’s.