To, o čo sa snažíš, takýmto spôsobom spraviť nejde (pokiaľ viem), pretože to pustenie objektu si už spracováva každá aplikácia po svojom.
Nechce sa mi to skúšať či to ide, ale skúsil by som sa pozrieť na udalosti QueryContinueDrag a GiveFeedback a pred pustením objektu v Exploreri (pri akcii DragAction.Drop), by som vytvoril na disku dočasný súbor s požadovaným obsahom. Takže by sa prenášali fyzicky súbory (nešlo by to priamo z pamäte do cieľového adresára).
Ak by to nešlo spraviť tesne pred pustením, tak by som vytvoril dočasný súbor už pri začatí operácie drag&drop.
edit: Tak to predsa len pôjde aj priamo z pamäte. Nečítal som to podrobne, ale nadpis vyzerá sľubne: Transferring Virtual Files to Windows Explorer in C#.