Add the bacon to the bottom of a large heavy soup pot set over medium heat. Stir until the bacon is crisp, 4 to 5 minutes. Remove to a paper-towel-lined plate with a slotted spoon. Add the butter and once melted, toss in the garlic, celery, carrots and onions, and saute until nice and tender, about 6 minutes. Season the mixture with salt and pepper, and sprinkle in the flour and stir until light colored and pasty, another 2 minutes. Slowly pour in the chicken stock, and then stir in the corn, potatoes and thyme, and bring to boil. Reduce the heat to a simmer and cook the potatoes and corn kernels until just tender, stirring occasionally, 15 minutes.
Pour in the milk and simmer for 20 minutes more. Taste for seasoning and adjust accordingly before serving.