Coat a 9-inch by 9-inch baking pan with non-stick cooking spray.
Place the bread cubes in a large bowl; set aside.
In a large frying pan over low heat, melt the butter. Add the onion, celery, and garlic; sauté approximately 5 to 7 minutes or until onions are translucent.
Add mixture to the bread cubes along with the parmesan cheese.
In a medium bowl, whisk together the pumpkin, eggs, 1 cup milk, salt, pepper, and sage. Pour mixture over bread cubes and toss to combine. Let mixture sit for 30 to 45 minutes to allow bread to absorb the liquid. If mixture seems dry after sitting, add remaining 1/2 cup milk and mix well.
Pour mixture into prepared baking pan; cover with a sheet of aluminum foil coated with non-stick cooking spray.
Bake 1 hour or until the pudding is set and still moist.