private class Person
{
 public String personText = "Person";
}

private class Student : Person
{
 private String studentText = "Student";
 
 public String getText()
 {
  return (personText + studentText);
 }
}

public class Entry {
 public static void test(Person p) {
  Student s = p as Student;
  Console.Write(s.getText());
 }
}

これで、Entry.testをコールした後、GCでstudentTextは解放されるのでしょうか?