I see now why you don't create the HTML in the display group constructor.  

You should not have to create a new object (even a light weight one) to determine which group the item goes in.  Please see if you can refactor your date comparison code so that you only create a new display group when you actually need one.