For what it's worth, there are 2 things that could be happening here:
1. There is an in-memory cache that stores profile lookups. I'd guess this is possibly the thing you are running in to - If you have looked up a profile recently, the failed lookup is cached for 60 seconds and even if you upload that profile it won't be used until the cache expires 60 seconds later.
2. Large CodeSystems and ValueSets will spawn a background job to perform indexing. We don't currently provide any API to querying the status of those jobs - Technically you could look in the BT2_JOB_INSTANCE table for it, but there isn't a FHIR API for it. Hopefully this will be added in the future.
Cheers,
James