Recursive Coroutine crashes unity

I want the bounds (left wall and right wall) to follow the player’s y position, a couple of times. however when I use this code as soon as it runs unity crashes. any idea why?

public Transform bounds;  //in another function StartCoroutine(Follow_Bounds(0));  IEnumerator Follow_Bounds(int a) {     yield return new WaitForSeconds(1f);     while(a < 3)     {         StartCoroutine(Follow_Bounds(a + 1));     }    bounds.position = new Vector2(bounds.position.x, transform.position.y); }