Si è vero ... perchè il treeview di ASP.NET è diverso da quello delle WindowsForms.
Pretende....un oggetto treenode da aggiungere alla collection Nodes....quindi:
For Each row As DataRow In dt.Rows
TreeView1.Nodes.Add(new treenode(row.Item("Titolo").ToString, row.Item("Id").ToString))
Next
Facci sapere....
Ciao