In another thread I was looking at an in-memory UDT array, where the UDT contained variable-length strings and further UDTs. It didn't seem to be laid out sequentially, which I couldn't account for and nobody responded to. I could dig up the example again; maybe I just misread the memory, though the strange thing was I could clearly read off the first array element, but subsequent ones were completely garbled. My best guess was that VB used a linked list instead of a sequential array, but I didn't want to go hunting around in memory to confirm the suspicion.