Nie zauważyłem tego wcześniej. 

Jeżeli utworzysz Lock w tym miejscu, to będzie on tworzony ponwnie przy każdym wywołaniu "odekorowanej" funkcji, czyli każdy wątek będzie miał własny lock który użyje jednokrotnie, czyli de facto nie będzie żadnego blokowania wątków (jeżeli przy pustym cache przyjdzą dwa requesty to oba będą liczyć dane (parsować CSV) a powinien tylko jeden wątek a drugi powinine czekać aż pierwszy policzy i wziąć z cache).

W skrócie `lock = Lock()` przenieś w inne miejsce.