Added VIRTUAL to retain() and release(): retain count investigation