Gameobject going past target when using rigidbody2d.addforce

I have a C# script where an enemy in my game is meant to be thrown around by the mouse when I’m holding down left click, i got this to work with rb.addforce with the target being an object that is constantly at the same position as the mouse. It works fine, but whenever I hold down the mouse for too long, the enemy flies past and never loses its momentum, here is my program

public class EnemyThrowing : MonoBehaviour
{

    public Rigidbody2D rb;//enemy rigidbody
    public Transform mouse; //transform of "cursor" gameobject
    private Vector2 _mousePosition; // position of "cursor" transform
    // Update is called once per frame
    void Update()
    {
        _mousePosition = mouse.position; //set _mousePosition to position of "cursors" transform, keeps mouse position accurate after first frame
        print(Input.mousePosition); 
        if (Input.GetMouseButton(0)) 
        {
            rb.AddForce(_mousePosition, ForceMode2D.Force); //add force in the direction of "cursors" position, is a constant force and is affected by mass
        } else if(Input.GetMouseButtonUp(0))
        {
            rb.AddForce(-rb.velocity, ForceMode2D.Force); //slows down enemy after letting go of mouse
        }

    }
}

thank you from the past!

You will need to limit the speed of the enemy. I am not sure how to do this off the top of my head, but if you dig around I am sure that you can find it. I think it basically is just saying if the speed of the object (with the rigidbody2d on it) goes above a certain value, then it will set it back to that max value. I hope this helps! Sorry I couldn’t remember exactly.