Melt butter in a medium sized stockpot on the stove, add onions, sauté until translucent (about 4 minutes), turn heat to medium low, add garlic and cook for an additional 4 or 5 minutes, stirring so that it doesn't burn.
Add potatoes, marjoram, caraway and stock. Season with salt and pepper. Bring to a boil, turn heat down and cook for about 20 minutes or until potatoes are soft. Mash a bit if you prefer a thicker consistency.
While potatoes are cooking, drizzle the cubed rye bread with olive oil and put under the broiler to brown. Watch carefully so they don't burn. Take them out, and let them cool.
In a small bowl, whisk egg. Take soup off of the heat, stir in the egg.
Serve in bowls, top with croutons and garnish with chives or parsley.