Данные-то какие передаете?
Логика вообще не ясна, как вы используете аргумент time в вызове Get.
Кажется что это должно быть время жизни, но у вас получается наоборот. В коде если время жизни больше чем переданное время жизни, то возвращаем из кеша значение - бесконечное время жизни.
ps.
в целом идея какая-то ужасная.
Почему GET УСТАНАВЛИВАЕТ значения которые получены из колбека какого-то.