Updrafts within thunderstorms push rain high into the cloud where very cold air freezes it. Once frozen it starts to fall but gets caught in another strong updraft where it gathers more moisture on its way back up making it larger. If the updrafts are strong enough they will continue this process for long periods of time allowing the hail to accumulate more moisture and more moisture. Updrafts can get so strong they even intrude into the stable stratosphere. When updrafts are this strong it becomes possible to suspend large hail for long periods of time further adding moisture to the hail, sometimes building it to incredible sizes.