Melt butter in a heavy 12-inch skillet over medium-high. Add onions, sugar, and 1 1/2 teaspoons of the salt. Cook, stirring constantly, 10 minutes. Reduce heat to medium, and cook until onions begin to brown and caramelize, about 15 minutes. Transfer onions to a large bowl, and let cool 10 minutes.
Meanwhile, place spinach in a colander, and press to drain liquid. Squeeze drained spinach tightly in small handfuls until almost dry. Add artichokes, water chestnuts, and drained spinach to onions.
Pulse garlic in a food processor until chopped. Add sour cream, mayonnaise, cream cheese, heavy cream, lemon juice, hot sauce, black pepper, lemon pepper, crushed red pepper, and remaining 1/2 teaspoon salt, and pulse until mixture is blended, 2 to 3 times. Add Parmesan, and pulse just until incorporated. (Mixture should have a coarse texture.) Add to spinach mixture, and stir until well combined. Serve immediately, or heat in a 350°F oven until it bubbles and is slightly browned on top, about 25 minutes.