Still Objects Have Non-Zero Velocity?

I am trying to create a check to see if a projectile has stopped moving and kill it, below is the basic idea:

void AProjectProjectile::TickActor(float DeltaTime, ELevelTick TickType, FActorTickFunction &ThisTickFunction)  {

Super::TickActor(DeltaTime, TickType, ThisTickFunction);
FVector vel = this->GetVelocity();

    if (vel.Size() == 0)
      Destroy();

}

I did some debugging and noticed the velocity hovers around +/- 7 in size. Why do still objects stop and then retain a non-zero velocity and is this correctable?

I’m going to go out on a limb here and say maybe the object moves around to continue checking for collision. I’m not that familiar with Unreal yet but in Unity I remember an issue where objects couldn’t collide with 0 velocity objects. You would have to nudge the objects by a tiny amount each frame to wake the collision up and keep it enabled.

Maybe if you have a projectile component or some type of hit/overlap registering shape attached to the object it will nudge it a small amount each frame.