Three weeks is pretty excessive.
The ticket I sold was a physical ticket, though… I can definitely see why the middleman holds the $ in that case.
But, with electronic tickets, when you go to sell yours don’t they automatically invalidate whatever unique code was tied to your ticket and issue a new one to the buyer? Seems a lot harder to scam someone with e-tickets.