Rigidbody2D.IsSleeping issue

When checking the velocity of an object with …velocity.x == 0 && velocity.y == 0 everything works fine but if i use Rigidbody2D.IsSleeping there seems to be a small delay?

    if (rb.IsSleeping) 
    {
              // Calls after the rigidbody has stopped moving +0.2 - 0.3s
    }

    if (rb.velocity.x == 0 && rb.velocity.y == 0) 
    {
              // Everything works fine but for reasons i can't use this
    }

Yes, since it’s a physics object, it’s possible that while it’s not moving right now, it has forces acting upon it that will make it start moving soon. The “isSleeping” parameter refers to whether the object is “at rest” in a physics sense, meaning that all forces are countered and the velocity is zero. To verify this is the case, it needs that extra bit of time to settle down.