In a large pot, melt the butter over medium heat. Add the shrimp and sauté for 2-3 minutes, or until light pink and slightly curled. Be careful not to overcook. Using a slotted spoon, transfer the shrimp to a bowl and set aside.
Remove the pot from the heat and carefully wipe it out with paper towels or a wet dish towel.
Return the pot to medium heat and add the chopped bacon. Sauté for 4-5 minutes or until browned.
Add the onion, celery stalks, and ¼ cup of the green onions. Sauté for 5-6 minutes or until the onions start to turn translucent.
Stir in the garlic, thyme, paprika, and cayenne pepper. Sauté for 1-2 minutes until fragrant.
Stir in the flour and cook for 3 minutes, stirring constantly, or until golden and nutty-smelling, scarping up the browned bits from the bottom of the pot as it cookes
Add the broth, potatoes, salt, and pepper. Increase the heat to medium-high, bring to a simmer, then reduce to medium-low and simmer for 10 minutes.
Stir in the corn, return to a simmer, and cook another 10 minutes.
Transfer 2-3 cups (depending on your preference – see the notes below) to a high-speed blender, vent the lid, and blend until smooth. Transfer the blended soup back to the pot. Alternatively, you can blend the soup partially with an immersion blender until you reach your desired consistency.
Reduce the heat to low. Stir in the milk, and Parmesan cheese, and heat for 1-2 minutes until heated through and the cheese is melted.
Stir in the sautéed shrimp and season to taste with salt and pepper. Enjoy topped hot with the remaining green onions and parmesan cheese.