Place a large soup pot over medium heat; add oil and butter. Once the butter melts and begins to sizzle, add the onion and cook, stirring occasionally, until the onion has completely softened, and the edges have begun to brown, about 10 to 12 minutes.
Add the poblano chiles, stir and let them cook for 3 to 4 minutes. Make some room in the middle of the pot, and add the corn, sprinkle the salt and pepper and cook for another 3 to 4 minutes.
Pour in the chicken broth, let it come to a simmer and cook for 5 more minutes, so that the flavors have had the chance to really blend.
Reduce the heat to low, wait for about a minute, and gently pour in the milk. Heat the soup through, for about 6 to 8 minutes, and serve. If you make it ahead of time, and want to reheat it, do so over low-medium heat.