Heat the oil and melt the butter in a skillet over medium-low heat. Add onions, granulated sugar, and 1 teaspoon salt; sauté for 35-40 minutes, stirring occasionally until golden brown and caramelized. Add shallots to the onion mixture and sauté for 10 minutes more until golden brown and fragrant. Set aside to cool.
Transfer the onions to a cutting board and chop coarsely into small pieces.
In a medium bowl, combine the sour cream, mayonnaise, celery salt, Worcestershire, ¼ teaspoon salt, and black pepper.
Add the chopped onions to the bowl with the sour cream mixture. Stir and chill for 2 hours, or overnight.
Transfer the dip to a bread or serving bowl. Garnish with fresh chives or parsley and serve with chips or veggies. Enjoy!