Heat the oil in a heavy bottom pan and add the chopped vegetables and the oregano. Cover the pan and sweat the vegetable over very low heat. Check often to make sure they are not browning or becoming crisp.
After about 20 minutes, add the corn and 2-3 cups of water. (If you prefer, you can add vegetable stock.) Add salt and pepper. Add the pepper flakes and/or the tomato if using. Raise the heat to medium and cook the soup until all the vegetable are very soft and most of the liquid has evaporated.
Make the roux. Melt the butter in a heavy-bottomed pot, whisk in the flour, and add in a cup of milk. Cook it until it thickens . Slowly whisk this mixture into the soup. Cook for about 15 minutes. Stir often to make sure the mixture does not scorch on the bottom of the pan. Check the seasoning and add more salt and pepper to taste.