So move and slide already incorporates delta, so you should not multiply it in the call. You can scale it by a float number if you need to adjust the speed. But I don't think that's your problem with is on floor (but you should fix it cause it can cause problems later).
Kinematic bodies don't simulate physics or gravity (only rigid bodies do). I don't see any gravity calculation in your code. So that is probably the problem. The player isn't on the floor, and there is no gravity, so they will never touch. You need to add gravity yourself. For example, under the input code add:
Direction += Vector3.DOWN * GravitySpeed;
Where GravitySpeed is some floating point number to set the strength of gravity.