MS Project works not only with full days but also with hours and minutes. Let's say Task2 had 7.5 hours of work left, and you reschedule this remaining work on the next day. Instead of finishing on Wednesday 9th of August 17:00 as initially planned, it now finishes on Thursday 10th of August 16:30. MS Project assumes Task3 will follow immediately after Task2 is finished, and since days have 8 working hours, Task3 will start on Thursday 10th of August 16:30. It will plan 0.5 hours on that day from 16:30 to 17:00, and the remaining 7.5 hrs on the following day.
To find out if this is happening, change your options to display time. Go to File / Options and change the date format. There is no really pretty way to correct this behavior while using Task dependencies and automated rescheduling. You either reassign the work manually in Task3, or you tweak the duration of Task2 so it ends at 17:00 (It ends up with a duration of 2.125 days instead of 2 days. If you're assigning resources to your task, make sure you set "Task Type to Fixed Work before making this change).
Also check the columns Actual Start Date, Actual Work and Actual Duration for Task3. If there is any progress information it could explain why the start date will not move. MS Project will not recalculate progress information and will only delay remaining work. Even if there is a dependency between tasks, information in the "Actual" columns will not change, and only the remaining work will follow the dependency. This can look pretty confusing when you're not used to it. In order for your Task3 to be delayed properly, its Actual Start Date should be "NV" (empty).
I hope I was helpful. It can be difficult to find the answer without looking at the actual project plan, because the behavior of MS Project can depend on lots of tiny details. If this does not fit what is happening in your project plan, it would be helpful to see a screenshot of the task usage view.