Place milk, honey and lavender in a medium sauce pan and bring to a simmer, stirring occasionally. Remove from heat and let steep for 5 – 10 minutes. The longer you steep the stronger the lavender flavor will be, and the ice cream will be a little spicy. Strain the milk and discard lavender.
In a medium bowl, beat the egg yolks and the sugar on medium high speed until the color lighten and the texture is stringy.
Place the milk back on the stove and bring to a simmer again. Temper the hot milk into the egg mixture by adding a little bit of milk at a time while whisking on low to mix. Adding too much hot milk too quickly can cook the egg.
Once all of the milk has been added, pour the entire mixture back into the sauce pan and put over medium heat.
Cook the custard, stirring constantly, until the mixture thickens and coats the back of the spoon. The temperature should register about 175°F to 180°F.
Remove from heat and add the cream cheese, whisk until cheese completely dissolves. You could add a pinch of salt with the cheese in this step but cream cheese tends to be salted already, so it is optional.
Let custard cool to room temperature. Then chill in the refrigerator for about 4 hours, or overnight. You can leave the custard uncovered while chilling in the fridge to avoid condensation. Only cover it when you are sure no condensation can form.
When you are ready to make ice cream, pour custard into an ice cream maker and process according to manufacturer directions.
Transfer to an air tight container and freeze for a few hours until harden. If you want to make honey swirl in the ice cream, add half of the ice cream to the container, flatten, drizzle about 1 tablespoon of honey on top, then add the rest of the ice cream. Freeze until harden.