wxEVT_COMMAND_TREE_ITEM_MENU event does not report the item, on which the mouse click happened. So it is not possible to get different context menu for different items in the tree.
The fix is easy: in src/treelistctrl.cpp: change line 4320: SendEvent(wxEVT_COMMAND_TREE_ITEM_MENU, 0, &nevent);
to SendEvent(wxEVT_COMMAND_TREE_ITEM_MENU, item, &nevent);
Thank you for the report.
I see no reason why the item information should not be included --and indeed an easy fix!