The memory usage of gltf animations is by design, babylon.js trades memory usage (and possibily performance) for flexiblity. Babylon.js have a fully featured Animation Curve Editor that can change per-frame interpolation (where in gltf it can only be per-channel).
See this rejected proposal for more detail: