ParseDescriptor is there for a reason as a lightweight info gathering. And the object is immediately destroyed afterwards. Loading the full object is excessive in that case.
Of course, I didn't mean them to do the same, but the parsing code could be shared, and the chunks required only for Load would be skipped when called from ParseDescriptor.
Anyway, I left the controversial parts for a later time :).