Question: I have a class (Model) an object of which serves as a blueprint for (short-lived) objects of another class (ModeledRelation). Model defines an event ModeledRelation always subscribes to in order to be notified when Model changes, so ModeledRelation objects can reflect these changes 1:1.

Now ModeledRelation objects are used somewhere else for some time and then finally go out of scope. But because the event still holds a reference to them they prevent garbage collection. 

Of course I formally want the objects to be GC'ed already if the event is the only reference left. I know I can unsubscribe from the event in ModeledRelation.Dispose but that would require explicitely calling Dispose and this feels a little too crafty for a purely managed class. I also want to be safe in the case that the ModeledRelation object silently slips out of scope and not have a memory leak then.

Maybe I am thinking in a totally wrong direction and this has to be done differently.

Answer: 
Because `->avg('tempistica');` return average value from all your rows in this query, i.e. return just one value.
**Solution:**
I was wrong to use the **avg** with **sum** function. The rows were extracted correctly but instead of being added (by timing) an average was made. Thank you all for your help.