In a large pot over medium heat, add the oil. When the pan is hot, stir in flour using a hard plastic spatula to begin preparation of the roux.
While preparing the roux, heat a pot of water with a teaspoon of sugar in it until it boils. Add corn and heat until bubbling again, then reduce heat to a simmer. Cover and cook for 8 minutes. Remove corn from water. When cool, cut kernels off the cob and set aside.
Continue stirring and turning over the roux until the color resembles chocolate, about 15 minutes.
Add the shallots, celery, okra, and bell peppers, cooking for 5 minutes. Season with salt and pepper.
Add the tomatoes, garlic, and serrano pepper and cook for about 5 minutes.
Stir in the stock, corn kernels, bay leaves, oregano, and thyme. Bring the liquid up to a boil, about 8 minutes. Reduce the heat to medium, and continue cooking for 15 minutes.
While the stock is cooking, break the sausage into small pieces and cook in a separate pan until browned. Remove from pan and place on paper towel, but leave the rendered fat in the pan.
Using the pan with the rendered fat, cook catfish on medium heat until cooked through, flipping over after a few minutes.
Fold in the catfish and sausage, reduce the heat and simmer for 5 minutes. Add water, increasing or decreasing to achieve desired consistency. Remove from the heat. Remove bay leaves and discard.
To assemble, ladle the gumbo into a bowl with rice.