Heat a large pot over medium heat. Add the bacon and saute for 4-5 minutes or until crisp and golden.
Using a slotted spoon, very carefully scoop out the bacon and transfer it to a paper towel-lined plate. Leave the grease in the pot.
Add the celery and onion to the bacon grease and sauté for 4-5 minutes or until the onion turns translucent, scraping down the bottom of the pan if browned bits start to stick.
Add the garlic and thyme, and sauté for 1 minute, until fragrant.
Stir in the broth and potatoes. Increase the heat to medium-high and bring to a simmer. Reduce to medium and simmer for 10 minutes.
Stir in the corn, salt, and pepper. Increase the heat to medium-high. Bring to a simmer. Reduce the heat to medium and cook for 10 more minutes.
Reduce the heat to low. Whisk the cornstarch into the milk until smooth. Stir the milk into the soup, then heat for 3-5 minutes, or until slightly thickened.
Transfer 2 cups of the soup to a high-speed blender. Blend with the lid slightly vented until smooth (alternatively, you can blend the soup with an immersion blender until it is your desired consistency). Transfer the soup back to the pot, stir in all but a few tablespoons of the browned bacon, and heat for 1-2 minutes until warmed through.
Season the soup to taste with salt and pepper. Serve hot, topped with the remaining bacon bits, chives or green onions, and cheese.