This has a lot to do with players being in the vicinity of the logistics helicopter(s) and thus forcing them to spawn in the first place. If a logistics helicopter gets spawned it does never complete its "logistics support request cycle" _while being spawned_ and in turn ends up hovering over a friendly TAOR.
The "logistics support request cycle" as I will call it in this context consists in its entirety of the communication between the player and the AI that handles the logistics for the player. The communication forms out of several short messages that in part denote what phase is on-going in the logistics cycle. The short messages that bears significance in this particular problem are as follows:
- "Alpha 1-1 Rotary wing units have arrived at the destination. Commencing unloading"
- "Alpha 1-1 Rotary wing insertion request completed"
- "CSAT reinforcements have arrived. Available reinforcement level: 99"
- "Alpha 1-1 Rotary wing insertion request completed"
Here the last two short messages are the final confirmation that a logistics support request has been completely fulfilled and that the code (if I may assume it is so?) ends the request cycle and "relieves the helicopter from its duties" allowing it to fly away/be virtualized.
A logistics helicopter getting spawned because of getting inside the set Spawn Radius will only ever reach the first phase of completion ("Alpha 1-1 Rotary wing insertion request completed") and will never reach the latter two:
- "CSAT reinforcements have arrived. Available reinforcement level: 99"
- "Alpha 1-1 Rotary wing insertion request completed"
When this happens the logistics support request cycle can be completed by the player/players moving out of the set Spawn Radius thus allowing profiles to be virtualized. When doing so you are under few seconds greeted with the short messages declaring that the cycle has been finally completed in its entirety. Either teleporting or moving back to the area where the helicopter was hovering we can observe that it is no longer there.
tl;dr
(logistics) helicopters spawned from virtualized state do never fully complete a "logistics support request cycle". When allowing those to be virtualized again that cycle gets fully completed and the helicopter gets despawned as expected.
Since I don't know what's going on under the hood I'll just ask this bluntly: is the code missing a check preventing spawned helicopters having a successful completion of the request cycle?