Memory leaks

delegate and dataSource properties should always use assign/weak