In a heavy saucepan set over medium-high heat, melt the butter. Add the leeks, onion and garlic. Season with salt, and allow to sweat for 5 minutes. Lower the heat to medium-low and cook the mixture for about 20 minutes. Add the potatoes and stock, and bring the mixture to a boil. Reduce heat to low and cook until the potatoes are tender, or about 45 minutes. Pour the soup into a blender and purée. Strain the soup through a colander, then return it to the pot. Add the cream and buttermilk. Season with salt and white pepper, to taste. Serve in small bowls, drizzle with chive oil and garnish with bacon.