Preheat oven to 350˚F. Butter a 9x13-inch baking dish, and set aside.
Melt the 4 tablespoons of butter in a large skillet over medium heat. Add the onion and thyme and cook until the onion softens, 8-9 minutes. Remove from heat, and add the corn and cornmeal. Season with salt and pepper and toss to combine. Allow to cool.
In a large mixing bowl, whisk together the eggs and half-and-half. Pour 1 cup of the egg and cream mixture into a blender or food processor. Add 1 cup of the corn and onion mixture, and purée until smooth. Pour the mixture into the bowl of egg and half-and-half. Whisk to combine. Fold in the remaining corn mixture from the skillet, the cheese, 2 teaspoons of salt, and 1/2 teaspoon of pepper. Stir until well-combined. Spread into the prepared baking dish, and bake until the pudding is starting to brown and is slightly puffy, about 40 minutes. Allow to sit at room temperature 10 minutes before serving.