IEnum not running after a set time while trying to run Animation Clips

My code doesn’t run the IEnumerator when it is supposed to. It is linked up to a few basic animation clips for a button.

It is supposed to be:
Closest object gets highlighted, if E is pressed, then the cycle stops, and an IEnum runs. Once the IEnum is done running, the rest resumes.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;

public class InteractionHandler : MonoBehaviour
{

    public List<Button> interactableButtons = new List<Button>();
    public List<Transform> interactableTransforms = new List<Transform>();
    List<float> magnitudes = new List<float>();
    Transform currentPos;
    private bool isInCycle = false;

    // Start is called before the first frame update
    void Start()
    { 
        currentPos = GetComponent<Transform>();
    }

    // Update is called once per frame
    void Update()
    {
        currentPos = GetComponent<Transform>();
        foreach(Transform t in interactableTransforms)
        {
            Vector2 dist = new Vector2(Mathf.Abs(t.position.x - currentPos.position.x), Mathf.Abs(t.position.y - currentPos.position.y));
            magnitudes.Add(dist.magnitude);
        }
        if((SearchForMin() != -1) && (!isInCycle))
        {
            int minDex = SearchForMin();
        
            interactableButtons[minDex].animator.Play("Highlighted");

            if(Input.GetKeyDown(KeyCode.E))
            {
                Debug.Log("EEE");
            //interactableButtons[minDex].onClick;
                ButtonPressed(minDex);
                isInCycle = true;               
            }    
            
        }
            

        magnitudes.Clear();
    }

    int SearchForMin()
    {
        float minVal = 120120;
        int minDex = -1;
        int currDex = 0;

        foreach(float i in magnitudes)
        {
            if(i < minVal)
            {
                minVal = i;
                minDex = currDex;
            }
            currDex++;
        }
        return minDex;
    }

    IEnumerator ButtonPressed(int minDex)
    {
        interactableButtons[minDex].animator.Play("Pressed");
        Debug.Log("A");
        yield return new WaitForSeconds(0.05f);
        interactableButtons[minDex].animator.Play("Selected");
        Debug.Log("B");                
        yield return new WaitForSeconds(0.2f);
        interactableButtons[minDex].animator.Play("Selected");
        Debug.Log("C");
        isInCycle = false;
    }
}

There are companion scripts but they don’t have much to do with this issue.