Strange things that are solved by restarting an application are usually caused by code errors that cause memory leaks, and the gliding may be such a case.
It may not be a code error.
An example from another game, I used to play Sims 2 on a computer with a graphics card with a small amount of video RAM. Sims 2 had both low and high resolution textures, and I was getting mostly low resolution textures because there wasn't enough room to load many high resolution textures. I upgraded my graphics card to one that had more video RAM and got all high resolution textures.
However, after playing for a while, with many textures being swapped in and out constantly, I started seeing low resolution textures occasionally. If there wasn't enough free RAM to load a high resolution texture, a low resolution one was loaded instead. This acts like a memory leak, but is actually caused by the video RAM getting "fragmented", so that while there was a lot of free RAM, there wasn't always a large enough free area to load the larger high resolution texture. After another graphics card update, I never saw another low resolution texture.
If the animation data is being loaded into the graphics RAM, and you don't have room to load all the animations, there is no smaller "low resolution" animation to load instead, so you have some animations but not others. The graphics RAM might be taken up by other textures from the game or from other programs which for whatever reason don't get unloaded, or leave free spaces in the RAM that aren't big enough to allow the animation data to be loaded.
Hook