По коду не понятно как инициализируется сессия, если конструктор вызываается из def get_user_profile и это проихдит каждыи раз - то как минимум вот это место.
Во втором случае ты напраямую делаешь гет через реквест.
Смотри что у тебя лежит в self.session. Если соединение используется несколько раз, то да, сессии должны быть быстрее но если использовать одну и туже сессию а не создавать каждыи раз новую. НО разница в любом случае будет не в 10 раз, сушественно меньше.
Проверяй self.session. там что-то не то происходит видимо.
Можешь для проверки сделать второи пример через сессиси дернув из реквеста напрямую, без использования self