Heat the oil and unsalted butter in a saucepan over low heat until the butter melts. Add the shallots, and cook very slowly until they turn almost completely translucent (it should just barely bubble at this stage). This should take about 30 minutes. Then turn the heat up a little to medium low and cook, stirring often, until they turn a rich golden brown, 5-7 minutes. Do not walk away once you turn the heat up because they will brown very quickly at this stage.Remove them from the oil with a slotted spoon, drain well, and spread out to cool on paper towels. Once they have dried and crisped, they can be stored at room temperature, covered, for several days.
Peel the turnips to remove the waxy skins and cut them into 1-inch chunks. Place them in a saucepan with water to cover and 1 tablespoon of salt. Bring to a boil and simmer, covered, until tender (they should be easily pierced by a paring knife), about 35 minutes. Drain well.
In a separate saucepan, heat the milk until it just begins to simmer.
Puree the turnips in a food processor fitted with the steel blade (in batches, if necessary). While pureeing, add the butter to the hot mixture and then pour the milk in a steady stream. Don’t worry about over mixing, unlike potatoes, this won’t get gluey. The turnips should be silky and smooth. Season to taste (I used 1/2 teaspoon each course kosher salt and pepper).
This can be made up to two days ahead and reheated (keep crispy shallots separate until serving). Pour purée into a saucepan and reheat, stirring, over medium heat until hot. Top with the crispy shallots just before serving so they stay crunchy.