Sentinel-2 cache clean up seems to work well in SNAP 5 with S2TBX 5.0.7 and in SNAP 6 after the bug fix reported here:
Setting 'Delete cache at each start up' in SNAP software under 'Tools -> Options -> S2TBX -> Max time in cache' delete the image cache also for a gpt execution that requires S2TBX cache (e.g. l2a-reader).
By the way, when running many gpt processes (using S2TBX readers) from a bash parallel execution or simultaneously in different shells, each new gpt invocation deletes the entire s2tbx cache folder. The gpt processes already running go to the end without errors, but the resulting output images lack of the last tiles, probably because the cache folder was deleted by another process before the end of the computation.
I would advice to add an option for the 'Max time in cache' setting to delete the cache files only at the end of each gpt execution (or when exiting snap application), instead of at the start up. Moreover, a more tidy solution to avoid the reported problem would be to delete only the cache folder created by the process, instead of deleting the entire s2tbx cache folder.