Great question!! Ive always wondered the mechanics of this myself and could never get an answer. Here a are a few things from my perspective. No guesses on what causes it, but some personal experiences. Ive noticed that it doesnt matter if I eat or not, if I train intensely enough, I will dry heave if theres no food or water in my system. I used to vomit and dry heave almost weekly like clockwork on my leg days, for years.(usually only on leg days, but there have been other instances of vomitting or cold sweats combined with dry heaves) I was always waiting to build a tolerance for the vomitting, but that never happened. So, I just dont eat before these routines, and dry heave rather then lose a meal. haha Im not sure what exactly causes it, but I know that on these days Im pushing EXTREMELY hard. I havent vomitted in a while since my leg routines are much watered down from what I did in the past. My legs got very strong on machines, and dense, but not much size for all the torture I put into them. I would do 800lbs for 52 reps on leg press for example as only ONE of my sets on these days. Partial or not, my head was about to explode,oxygen was far depleted and I was WAY beyond the pain zone. Then Id just keep doing these types of sets over and over again until I was pretty much crippled. haha This type of intensity almost always guaranteed bad nausea and vomitting. Id often end up forcing the vomitting, rather then being nauseous for hours. Maybe the food or stomache content gets pushed up somehow, not really sure. Ive also been interested in ways to combat this, but seems it just comes with the territory.