records with methods are well records....the record pointer is passed as a hidden "self" parameter in every method for record you declare....so yes since they are allocated on the stack, they are disposed automaticly with function return....