We have a somewhat awkward API pattern today, where you pass the QuicConnectionOptions object to to QuicConnection constructor, but we don't actually use it until you do ConnectAsync. One minor inconvenience of this is that we have to store the QuicConnectionOptions object for this brief period of time when we don't use it any other time.
We should consider passing these options into ConnectAsync instead, to simplify the model and implementation here.