What does the following code most likely demonstrate about how the GC manages object lifetime relative to source-line order?
var buffer = new byte[16];
var w = new WeakReference(buffer);
_ = buffer.GetHashCode();
// 'buffer' is never touched again below
GC.Collect();
GC.WaitForPendingFinalizers();
Console.WriteLine(w.IsAlive ? "alive" : "collected");
GC.Collect();
Console.WriteLine(w.IsAlive ? "alive" : "collected");