Custom fields sometimes missing from profile, until flushing caches
The only way we could solve this was turning off php opcache in fpm/apache/nginx and cli
For other sites with opcache turned off we had to enable schedule job 'Clean-up Temporary Data and Files' with parameters
dbCache=1
tplCache=1
Incase you have memcache enabled then
memCache=1