I will use only one text, Principles of Programming Languages by Krishnamurthi and Felleisen and supplement it with our own lecture notes .
Principles is available on the Web .
The classic reference is a survey by Paul Wilson, a leading researcher in the field. Visit his research group's publications page and look for the survey entitled Uniprocessor Garbage Collection Techniques near the bottom. You may want the extended version, which is also newer. Also, look at the on-line garbage collection FAQ and at the memory management FAQ . I recommend four.