Quando non ti serve più. In alternativa puoi dichiarare l'oggetto a livello di classe in modo che venga distrutto automaticamente quando viene distrutta la classe.
codice:
class tuaClasse : CDialog //o quello che è
{
    //...
    tuaClasse tuoOggetto();
    //...
}

tuaClasse::tuoMetodo()
{
    //...
    tuoTreeCtrl.SetItemData(handleItem, (DWORD) &tuoOggetto);
    //...
}