Do you have attachments in there? Because I have dealt with forms that had schemas with more than 50,000 nodes, and the XML output was not even close to that...
Anyway, if you have optional sections, the xml output will contain only the sections that were added. In case you use conditional formatting to Hide sections, the output will be the same, so the size of your xml won't change.
To increase performance, make sure that you split your data into Views and if you need to write code behind, you need to fire 1 single OnBeforeChange event and 1 single OnAfterChange event for the entire form, else your performance is going to decrease...fast.
You should read:
http://www.infopathdev.com/forums/topic.asp?TOPIC_ID=618 (especially the link that Jason added at the end) to make sure that you are not getting off track.
Franck