SQL Server Transactional Replication - what is sp_MSreleasesnapshotdeliverysessionlock? Occasionally when creating and finishing a snapshot to re-sync data, some of the subscribers seem to hang about for several hours afterwards before they start to take the snapshot. There's no blocking that I can see on the distributor. When I check on the subscriber for sessions against the subscription database, they are running: sp_MSreleasesnapshotdeliverysessionlock

This sometimes happens on a number of SQL Server versions, but all patched to recent CUs. What is this process? And what is likely to be going wrong?
It's important to understand where is the bottleneck...

Are the BCP-files for the snapshot actually getting created?
Are you using PULL or PUSH subscriptions?
Remote or Local DIST?
Can you setup a Profiler Trace or XE Session on each component...PUB, DIST and SUB and trace activity...plus maybe look at wait-stats and what SQL is waiting for?
Turn on Verbose-logging for LogReader-Agent and Distribution-Agent as well.
Query the History Replication Sys-Table to get additional information too...
sp_helptext on sp_MSreleasesnapshotdeliverysessionlock - what is in it?