In a large skillet hear butter and oil over medium heat until butter is melted. Add onions, salt and sugar. Reduce her to medium-low; cook for 40-50 minutes or until onions are deep golden brown and caramelized, stirring occasionally. Transfer 1/3 cup of the onions to a small airtight container; cover and chill for at least 4 hours or up to 3 days.
Stir cayenne pepper and garlic into onions remaining in skillet. Cook for 5 minutes more. Remove from heat. Cool slightly and coarsely chop.
In a large bowl use a potato masher to combine sour cream, softened cream cheese, and mayonnaise. Stir in onion-garlic mixture. Transfer to an air-tight container and cover. Chill for at least 4 hours and up to 3 days.
Let stand at room temperature for 30 minutes before serving. Top sour cream mixture with the 1/3 cup caramelized onions. If desired, garnish with sliced green onions and bacon crumbles if desired.